diff --git a/Languages/german b/Languages/german
new file mode 100644
index 00000000..98212282
--- /dev/null
+++ b/Languages/german
@@ -0,0 +1,178 @@
+Specialthanksto = Besonderer dank an
+ t3Covers = 3D Cover
+ AppLanguage = Sprache
+ Areyousure = Bist du sicher?
+ AutoPatch = AutoPatch
+ Back = Zurück
+ BacktoHBCorWiiMenu = Zurück zum HBC oder Wii Menü
+ BacktoLoader = Zurück zum Loader
+ BacktoWiiMenu = Zurück ins Wii Menü
+ BootStandard = Boot/Standard
+ Both = Beides
+ Cantcreatedirectory = Verzeichnis kann nicht erstellt werden
+ Cancel = Abbrechen
+ Cantbeformated = Konnte nicht formatiert werden
+ Cantdelete = Löschen fehlgeschlagen:
+ ClicktoDownloadCovers = Klick um Cover runterzuladen
+ Clock = Uhr
+ Continueinstallgame = Spiel installieren?
+ ConsoleDefault = Konsolenstandard
+ Consoleshouldbeunlockedtomodifyit = Konsole zum ändern bitte entsperren.
+ ConsoleLocked = Konsole gesperrt
+ CorrectPassword = Passwort korrekt
+ Couldnotinitializenetwork = Netzwerk konnte nicht initialisiert werden!
+ CouldnotopenDisc = Konnte Disc nicht öffnen
+ CouldnotinitializeDIPmodule = DIP Modul konnte nict initialisiert werden!
+ CoverDownload = Cover Download
+ CoverPath = Cover Pfad
+ CoverpathChanged = Cover Pfad geändert
+ Coverpathchange = Cover Pfad ändern
+ Credits = Credits
+ DiscImages = Disc Images
+ DiscimagePath = Discimage Pfad
+ DiscpathChanged = Disc Pfad geändert
+ Discpathchange = Disc Pfad ändern
+ DiscDefault = Disc Standard
+ Display = Anzeige
+ Doyouwanttoformat = Wollen sie formatieren:
+ Doyoureallywanttodelete = Wirklich löschen:
+ Doyouwanttoretryfor30secs = 30 sek lang erneut versuchen?
+ Downloadingfile = Downloade Datei:
+ DownloadBoxartimage = Download Boxart Grafik?
+ Downloadfinished = Download abgeschlossen
+ Error = Fehler !
+ BOOTERROR = BOOT FEHLER
+ ErrorreadingDisc = Disclesefehler
+ ExitUSBISOLoader = USB Loader GX beenden?
+ InitializingNetwork = Initialisiere Netzwerk
+ InsertDisk = Disc einlegen
+ InsertaWiiDisc = Wii Disc einlegen!
+ InsertaSDCardtodownloadimages = SD Card für Grafik-Download einlegen.
+ InsertaSDCardtosave = SD-Card zum speichern einlegen.
+ InstallRenameandDeleteareunlocked = Alle Funktionen des USB Loader GX freigeschaltet.
+ Installerror = Installationsfehler!
+ Installagame = Spiel installieren
+ Installinggame = Installiere Spiel:
+ Failedtoboot = Bootfehler:
+ FailedtomountfrontSDcard = SD-Card Mount-Fehler
+ FailedtosetUSB = USB-Fehler:
+ Failedformating = Formatieren fehlgeschlagen
+ Filenotfound = Datei nicht gefunden.
+ filesnotfoundontheserver = Datei(en) konnte(n) auf dem Server nicht gefunden werden!
+ filesleft = Datei(en) verbleiben
+ FlipX = Flip-X
+ Force = Erzwinge
+ Youneedtoformatapartition = Partition muss formatiert werden
+ Format = Formatieren
+ Formattingpleasewait = Formatiere, bitte warten...
+ formated = formatiert!
+ free = frei
+ FreeSpace = Freier Speicher
+ FullShutdown = Ausschalten
+ GameID = Spiel ID
+ Games = Spiele
+ Gameisalreadyinstalled = Spiel bereits vorhanden:
+ GameRegion = Region
+ GameSize = Grösse
+ GoBack = Zurück
+ //GotoPage = Gehe zu Seite
+ HowtoShutdown = Wie beenden?
+ keyboard = Tastatur
+ Language = Sprache
+ Langchange = Sprache ändern
+ Left = Links
+ LikeSysMenu = Wie SysMenü
+ LoadingincIOS = Lade in cIOS249
+ Loadingstandardlanguage = Lade Standardsprache.
+ Lock = Sperren
+ LockConsole = Konsole sperren
+ MP3Menu = MP3 Menü
+ Missingfiles = Fehlende Datei(en)
+ Networkiniterror = Netzwerk init Fehler
+ Neither = Nichts
+ Next = Nächste
+ No = Nein
+ Nofilemissing = Alle Dateien vorhanden!
+ NoHDDfound = Keine HDD gefunden!
+ NoSDcardinserted = Keine SD-Card eingelegt!
+ Nopartitionsfound = Keine Partitionen gefunden
+ NoUSBDevice = Kein USB Gerät
+ NoWBFSpartitionfound = Keine WBFS Partition gefunden
+ NormalCovers = Normale Cover
+ Normal = Normal
+ NotaWiiDisc = Keine Wii Disc
+ NoUSBDevicefound = Kein USB Gerät gefunden.
+ Notenoughfreespace = Nicht genug freier Speicher!
+ notset = nicht gesetzt
+ of = von
+ OFF = AUS
+ OfficialSite = Offizielle Seite
+ ok = OK
+ ON = AN
+ Parentalcontrol = Jugenschutz
+ Partition = Partition
+ Password = Passwort
+ PasswordChanged = Passwort geändert
+ Passwordhasbeenchanged = Passwort geändert
+ Passwordchange = Passwort ändern
+ PowerofftheWii = Wii ausschalten
+ Prev = Vorherige
+ PromptsButtons = Button Anzeige
+ ReloadSD = SD aktualisieren
+ RenameGameonWBFS = Spiel umbenennen
+ Restart = Neustart
+ Return = Zurück
+ ReturntoWii = Zurück ins Wii Menü
+ Right = Rechts
+ Rumble = Rumble
+ QuickBoot = Quick Boot
+ Save = Speichern
+ SaveFailed = Speichern fehlgeschlagen
+ Specialthanksto = Besonderer Dank an
+ Titlestxtpath = Titles.txt Pfad
+ TitlestxtpathChanged = Pfad zu titles.txt geändert.
+ Titlestxtpathchange = Pfad von titles.txt ändern
+ For = für
+ theUSBLoaderandreleasingthesourcecodethe = und die veröffentlichung des Quellcodes
+ secondsleft = sekunden verbleiben
+ SelectthePartition = Partition auswählen
+ youwanttoformat = sie wollen formatieren
+ settings = Einstellungen
+ ShutdowntoIdle = StandBy
+ ShutdownSystem = System abschalten
+ Success = Erfolg:
+ Successfullyinstalled = Erfolgreich installiert:
+ Successfullydeleted = Erfolgreich gelöscht:
+ SuccessfullySaved = Erfolgreich gespeichert
+ SystemDefault = Systemstandard
+ ThemePath = Theme Pfad
+ ThemepathChanged = Theme Pfad geändert
+ Themepathchange = Theme Pfad ändern
+ Try = Versuche
+ Tooltips = ToolTips
+ Timeleft = Dauer:
+ Unlock = Entsperren
+ Unicodefix = Unicode Fix
+ Uninstall = Deinstallieren
+ USBLoaderisprotected = USB Loader GX ist geschützt
+ USBDevicenotfound = USB Gerät nicht gefunden
+ VideoMode = Video Modus
+ VIDTVPatch = VIDTV Patch
+ Volume = Lautstärke
+ Waiting = Warte...
+ WaitingforUSBDevice = Warte auf USB Gerät
+ WidescreenFix = Widescreen Fix
+ WiiMenu = Wii Menü
+ WrongPassword = Passwort falsch
+ Yes = Ja
+ YoudonthavecIOS = cIOS222 nicht vorhanden
+ Japanese = Japanisch
+ German = Deutsch
+ English = Englisch
+ French = Französisch
+ Spanish = Spanisch
+ Italian = Italienisch
+ Dutch = Niederländisch
+ SChinese = Simpl.Chinesisch
+ TChinese = Trad.Chinesisch
+ Korean = Koreanisch
\ No newline at end of file
diff --git a/gui.pnproj b/gui.pnproj
index c3d79b47..c563516b 100644
--- a/gui.pnproj
+++ b/gui.pnproj
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/source/FreeTypeGX.cpp b/source/FreeTypeGX.cpp
index 1c440352..c8628266 100644
--- a/source/FreeTypeGX.cpp
+++ b/source/FreeTypeGX.cpp
@@ -22,6 +22,7 @@
#include "FreeTypeGX.h"
#include "CH2Unicode.h"
+#include "GB2Unicode.h"
#include "main.h"
#include "cfg.h"
@@ -61,6 +62,8 @@ wchar_t* FreeTypeGX::charToWideChar(char* strChar) {
if(Settings.unicodefix == 1) {
CH2Unicode(strChar, strWChar);
+ } else if(Settings.unicodefix == 2) {
+ ConverGB2Unicode(strChar, strWChar);
} else {
char *tempSrc = strChar;
wchar_t *tempDest = strWChar;
diff --git a/source/GB2Unicode.c b/source/GB2Unicode.c
new file mode 100644
index 00000000..af2ac89a
--- /dev/null
+++ b/source/GB2Unicode.c
@@ -0,0 +1,997 @@
+//GB2Unicode.c
+
+
+#include "Gb2Unicode.h"
+
+
+
+
+unsigned short bGbUnicodedat1[]={
+0x3000,0x3001,0x3002,0x00B7,0x02C9,0x02C7,0x00A8,0x3003,
+0x3005,0x2014,0xFF5E,0x2016,0x2026,0x2018,0x2019,0x201C,
+0x201D,0x3014,0x3015,0x3008,0x3009,0x300A,0x300B,0x300C,
+0x300D,0x300E,0x300F,0x3016,0x3017,0x3010,0x3011,0x00B1,
+0x00D7,0x00F7,0x2236,0x2227,0x2228,0x2211,0x220F,0x222A,
+0x2229,0x2208,0x2237,0x221A,0x22A5,0x2225,0x2220,0x2312,
+0x2299,0x222B,0x222E,0x2261,0x224C,0x2248,0x223D,0x221D,
+0x2260,0x226E,0x226F,0x2264,0x2265,0x221E,0x2235,0x2234,
+0x2642,0x2640,0x00B0,0x2032,0x2033,0x2103,0xFF04,0x00A4,
+0xFFE0,0xFFE1,0x2030,0x00A7,0x2116,0x2606,0x2605,0x25CB,
+0x25CF,0x25CE,0x25C7,0x25C6,0x25A1,0x25A0,0x25B3,0x25B2,
+0x203B,0x2192,0x2190,0x2191,0x2193,0x3013,0x2170,0x2171,
+0x2172,0x2173,0x2174,0x2175,0x2176,0x2177,0x2178,0x2179,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2488,0x2489,
+0x248A,0x248B,0x248C,0x248D,0x248E,0x248F,0x2490,0x2491,
+0x2492,0x2493,0x2494,0x2495,0x2496,0x2497,0x2498,0x2499,
+0x249A,0x249B,0x2474,0x2475,0x2476,0x2477,0x2478,0x2479,
+0x247A,0x247B,0x247C,0x247D,0x247E,0x247F,0x2480,0x2481,
+0x2482,0x2483,0x2484,0x2485,0x2486,0x2487,0x2460,0x2461,
+0x2462,0x2463,0x2464,0x2465,0x2466,0x2467,0x2468,0x2469,
+0x2000,0x2000,0x3220,0x3221,0x3222,0x3223,0x3224,0x3225,
+0x3226,0x3227,0x3228,0x3229,0x2000,0x2000,0x2160,0x2161,
+0x2162,0x2163,0x2164,0x2165,0x2166,0x2167,0x2168,0x2169,
+0x216A,0x216B,0x2000,0x2000,0xFF01,0xFF02,0xFF03,0xFFE5,
+0xFF05,0xFF06,0xFF07,0xFF08,0xFF09,0xFF0A,0xFF0B,0xFF0C,
+0xFF0D,0xFF0E,0xFF0F,0xFF10,0xFF11,0xFF12,0xFF13,0xFF14,
+0xFF15,0xFF16,0xFF17,0xFF18,0xFF19,0xFF1A,0xFF1B,0xFF1C,
+0xFF1D,0xFF1E,0xFF1F,0xFF20,0xFF21,0xFF22,0xFF23,0xFF24,
+0xFF25,0xFF26,0xFF27,0xFF28,0xFF29,0xFF2A,0xFF2B,0xFF2C,
+0xFF2D,0xFF2E,0xFF2F,0xFF30,0xFF31,0xFF32,0xFF33,0xFF34,
+0xFF35,0xFF36,0xFF37,0xFF38,0xFF39,0xFF3A,0xFF3B,0xFF3C,
+0xFF3D,0xFF3E,0xFF3F,0xFF40,0xFF41,0xFF42,0xFF43,0xFF44,
+0xFF45,0xFF46,0xFF47,0xFF48,0xFF49,0xFF4A,0xFF4B,0xFF4C,
+0xFF4D,0xFF4E,0xFF4F,0xFF50,0xFF51,0xFF52,0xFF53,0xFF54,
+0xFF55,0xFF56,0xFF57,0xFF58,0xFF59,0xFF5A,0xFF5B,0xFF5C,
+0xFF5D,0xFFE3,0x3041,0x3042,0x3043,0x3044,0x3045,0x3046,
+0x3047,0x3048,0x3049,0x304A,0x304B,0x304C,0x304D,0x304E,
+0x304F,0x3050,0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,
+0x3057,0x3058,0x3059,0x305A,0x305B,0x305C,0x305D,0x305E,
+0x305F,0x3060,0x3061,0x3062,0x3063,0x3064,0x3065,0x3066,
+0x3067,0x3068,0x3069,0x306A,0x306B,0x306C,0x306D,0x306E,
+0x306F,0x3070,0x3071,0x3072,0x3073,0x3074,0x3075,0x3076,
+0x3077,0x3078,0x3079,0x307A,0x307B,0x307C,0x307D,0x307E,
+0x307F,0x3080,0x3081,0x3082,0x3083,0x3084,0x3085,0x3086,
+0x3087,0x3088,0x3089,0x308A,0x308B,0x308C,0x308D,0x308E,
+0x308F,0x3090,0x3091,0x3092,0x3093,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x30A1,0x30A2,0x30A3,0x30A4,0x30A5,0x30A6,0x30A7,0x30A8,
+0x30A9,0x30AA,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,0x30B0,
+0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,
+0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,
+0x30C1,0x30C2,0x30C3,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,
+0x30C9,0x30CA,0x30CB,0x30CC,0x30CD,0x30CE,0x30CF,0x30D0,
+0x30D1,0x30D2,0x30D3,0x30D4,0x30D5,0x30D6,0x30D7,0x30D8,
+0x30D9,0x30DA,0x30DB,0x30DC,0x30DD,0x30DE,0x30DF,0x30E0,
+0x30E1,0x30E2,0x30E3,0x30E4,0x30E5,0x30E6,0x30E7,0x30E8,
+0x30E9,0x30EA,0x30EB,0x30EC,0x30ED,0x30EE,0x30EF,0x30F0,
+0x30F1,0x30F2,0x30F3,0x30F4,0x30F5,0x30F6,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x0391,0x0392,
+0x0393,0x0394,0x0395,0x0396,0x0397,0x0398,0x0399,0x039A,
+0x039B,0x039C,0x039D,0x039E,0x039F,0x03A0,0x03A1,0x03A3,
+0x03A4,0x03A5,0x03A6,0x03A7,0x03A8,0x03A9,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x03B1,0x03B2,
+0x03B3,0x03B4,0x03B5,0x03B6,0x03B7,0x03B8,0x03B9,0x03BA,
+0x03BB,0x03BC,0x03BD,0x03BE,0x03BF,0x03C0,0x03C1,0x03C3,
+0x03C4,0x03C5,0x03C6,0x03C7,0x03C8,0x03C9,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0xFE35,0xFE36,0xFE39,
+0xFE3A,0xFE3F,0xFE40,0xFE3D,0xFE3E,0xFE41,0xFE42,0xFE43,
+0xFE44,0x2000,0x2000,0xFE3B,0xFE3C,0xFE37,0xFE38,0xFE31,
+0x2000,0xFE33,0xFE34,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x0410,0x0411,0x0412,0x0413,
+0x0414,0x0415,0x0401,0x0416,0x0417,0x0418,0x0419,0x041A,
+0x041B,0x041C,0x041D,0x041E,0x041F,0x0420,0x0421,0x0422,
+0x0423,0x0424,0x0425,0x0426,0x0427,0x0428,0x0429,0x042A,
+0x042B,0x042C,0x042D,0x042E,0x042F,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x0430,0x0431,0x0432,0x0433,
+0x0434,0x0435,0x0451,0x0436,0x0437,0x0438,0x0439,0x043A,
+0x043B,0x043C,0x043D,0x043E,0x043F,0x0440,0x0441,0x0442,
+0x0443,0x0444,0x0445,0x0446,0x0447,0x0448,0x0449,0x044A,
+0x044B,0x044C,0x044D,0x044E,0x044F,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x0101,0x00E1,0x01CE,0x00E0,0x0113,0x00E9,
+0x011B,0x00E8,0x012B,0x00ED,0x01D0,0x00EC,0x014D,0x00F3,
+0x01D2,0x00F2,0x016B,0x00FA,0x01D4,0x00F9,0x01D6,0x01D8,
+0x01DA,0x01DC,0x00FC,0x00EA,0x0251,0xE7C7,0x0144,0x0148,
+0xE7C8,0x0261,0x2000,0x2000,0x2000,0x2000,0x3105,0x3106,
+0x3107,0x3108,0x3109,0x310A,0x310B,0x310C,0x310D,0x310E,
+0x310F,0x3110,0x3111,0x3112,0x3113,0x3114,0x3115,0x3116,
+0x3117,0x3118,0x3119,0x311A,0x311B,0x311C,0x311D,0x311E,
+0x311F,0x3120,0x3121,0x3122,0x3123,0x3124,0x3125,0x3126,
+0x3127,0x3128,0x3129,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2500,0x2501,0x2502,0x2503,0x2504,
+0x2505,0x2506,0x2507,0x2508,0x2509,0x250A,0x250B,0x250C,
+0x250D,0x250E,0x250F,0x2510,0x2511,0x2512,0x2513,0x2514,
+0x2515,0x2516,0x2517,0x2518,0x2519,0x251A,0x251B,0x251C,
+0x251D,0x251E,0x251F,0x2520,0x2521,0x2522,0x2523,0x2524,
+0x2525,0x2526,0x2527,0x2528,0x2529,0x252A,0x252B,0x252C,
+0x252D,0x252E,0x252F,0x2530,0x2531,0x2532,0x2533,0x2534,
+0x2535,0x2536,0x2537,0x2538,0x2539,0x253A,0x253B,0x253C,
+0x253D,0x253E,0x253F,0x2540,0x2541,0x2542,0x2543,0x2544,
+0x2545,0x2546,0x2547,0x2548,0x2549,0x254A,0x254B,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x2000,0x2000,0x2000,0x2000,0x2000,0x2000
+};
+unsigned short bGbUnicodedat2[]={
+0x554A,0x963F,0x57C3,0x6328,0x54CE,0x5509,0x54C0,0x7691,
+0x764C,0x853C,0x77EE,0x827E,0x788D,0x7231,0x9698,0x978D,
+0x6C28,0x5B89,0x4FFA,0x6309,0x6697,0x5CB8,0x80FA,0x6848,
+0x80AE,0x6602,0x76CE,0x51F9,0x6556,0x71AC,0x7FF1,0x8884,
+0x50B2,0x5965,0x61CA,0x6FB3,0x82AD,0x634C,0x6252,0x53ED,
+0x5427,0x7B06,0x516B,0x75A4,0x5DF4,0x62D4,0x8DCB,0x9776,
+0x628A,0x8019,0x575D,0x9738,0x7F62,0x7238,0x767D,0x67CF,
+0x767E,0x6446,0x4F70,0x8D25,0x62DC,0x7A17,0x6591,0x73ED,
+0x642C,0x6273,0x822C,0x9881,0x677F,0x7248,0x626E,0x62CC,
+0x4F34,0x74E3,0x534A,0x529E,0x7ECA,0x90A6,0x5E2E,0x6886,
+0x699C,0x8180,0x7ED1,0x68D2,0x78C5,0x868C,0x9551,0x508D,
+0x8C24,0x82DE,0x80DE,0x5305,0x8912,0x5265,0x8584,0x96F9,
+0x4FDD,0x5821,0x9971,0x5B9D,0x62B1,0x62A5,0x66B4,0x8C79,
+0x9C8D,0x7206,0x676F,0x7891,0x60B2,0x5351,0x5317,0x8F88,
+0x80CC,0x8D1D,0x94A1,0x500D,0x72C8,0x5907,0x60EB,0x7119,
+0x88AB,0x5954,0x82EF,0x672C,0x7B28,0x5D29,0x7EF7,0x752D,
+0x6CF5,0x8E66,0x8FF8,0x903C,0x9F3B,0x6BD4,0x9119,0x7B14,
+0x5F7C,0x78A7,0x84D6,0x853D,0x6BD5,0x6BD9,0x6BD6,0x5E01,
+0x5E87,0x75F9,0x95ED,0x655D,0x5F0A,0x5FC5,0x8F9F,0x58C1,
+0x81C2,0x907F,0x965B,0x97AD,0x8FB9,0x7F16,0x8D2C,0x6241,
+0x4FBF,0x53D8,0x535E,0x8FA8,0x8FA9,0x8FAB,0x904D,0x6807,
+0x5F6A,0x8198,0x8868,0x9CD6,0x618B,0x522B,0x762A,0x5F6C,
+0x658C,0x6FD2,0x6EE8,0x5BBE,0x6448,0x5175,0x51B0,0x67C4,
+0x4E19,0x79C9,0x997C,0x70B3,0x75C5,0x5E76,0x73BB,0x83E0,
+0x64AD,0x62E8,0x94B5,0x6CE2,0x535A,0x52C3,0x640F,0x94C2,
+0x7B94,0x4F2F,0x5E1B,0x8236,0x8116,0x818A,0x6E24,0x6CCA,
+0x9A73,0x6355,0x535C,0x54FA,0x8865,0x57E0,0x4E0D,0x5E03,
+0x6B65,0x7C3F,0x90E8,0x6016,0x64E6,0x731C,0x88C1,0x6750,
+0x624D,0x8D22,0x776C,0x8E29,0x91C7,0x5F69,0x83DC,0x8521,
+0x9910,0x53C2,0x8695,0x6B8B,0x60ED,0x60E8,0x707F,0x82CD,
+0x8231,0x4ED3,0x6CA7,0x85CF,0x64CD,0x7CD9,0x69FD,0x66F9,
+0x8349,0x5395,0x7B56,0x4FA7,0x518C,0x6D4B,0x5C42,0x8E6D,
+0x63D2,0x53C9,0x832C,0x8336,0x67E5,0x78B4,0x643D,0x5BDF,
+0x5C94,0x5DEE,0x8BE7,0x62C6,0x67F4,0x8C7A,0x6400,0x63BA,
+0x8749,0x998B,0x8C17,0x7F20,0x94F2,0x4EA7,0x9610,0x98A4,
+0x660C,0x7316,0x573A,0x5C1D,0x5E38,0x957F,0x507F,0x80A0,
+0x5382,0x655E,0x7545,0x5531,0x5021,0x8D85,0x6284,0x949E,
+0x671D,0x5632,0x6F6E,0x5DE2,0x5435,0x7092,0x8F66,0x626F,
+0x64A4,0x63A3,0x5F7B,0x6F88,0x90F4,0x81E3,0x8FB0,0x5C18,
+0x6668,0x5FF1,0x6C89,0x9648,0x8D81,0x886C,0x6491,0x79F0,
+0x57CE,0x6A59,0x6210,0x5448,0x4E58,0x7A0B,0x60E9,0x6F84,
+0x8BDA,0x627F,0x901E,0x9A8B,0x79E4,0x5403,0x75F4,0x6301,
+0x5319,0x6C60,0x8FDF,0x5F1B,0x9A70,0x803B,0x9F7F,0x4F88,
+0x5C3A,0x8D64,0x7FC5,0x65A5,0x70BD,0x5145,0x51B2,0x866B,
+0x5D07,0x5BA0,0x62BD,0x916C,0x7574,0x8E0C,0x7A20,0x6101,
+0x7B79,0x4EC7,0x7EF8,0x7785,0x4E11,0x81ED,0x521D,0x51FA,
+0x6A71,0x53A8,0x8E87,0x9504,0x96CF,0x6EC1,0x9664,0x695A,
+0x7840,0x50A8,0x77D7,0x6410,0x89E6,0x5904,0x63E3,0x5DDD,
+0x7A7F,0x693D,0x4F20,0x8239,0x5598,0x4E32,0x75AE,0x7A97,
+0x5E62,0x5E8A,0x95EF,0x521B,0x5439,0x708A,0x6376,0x9524,
+0x5782,0x6625,0x693F,0x9187,0x5507,0x6DF3,0x7EAF,0x8822,
+0x6233,0x7EF0,0x75B5,0x8328,0x78C1,0x96CC,0x8F9E,0x6148,
+0x74F7,0x8BCD,0x6B64,0x523A,0x8D50,0x6B21,0x806A,0x8471,
+0x56F1,0x5306,0x4ECE,0x4E1B,0x51D1,0x7C97,0x918B,0x7C07,
+0x4FC3,0x8E7F,0x7BE1,0x7A9C,0x6467,0x5D14,0x50AC,0x8106,
+0x7601,0x7CB9,0x6DEC,0x7FE0,0x6751,0x5B58,0x5BF8,0x78CB,
+0x64AE,0x6413,0x63AA,0x632B,0x9519,0x642D,0x8FBE,0x7B54,
+0x7629,0x6253,0x5927,0x5446,0x6B79,0x50A3,0x6234,0x5E26,
+0x6B86,0x4EE3,0x8D37,0x888B,0x5F85,0x902E,0x6020,0x803D,
+0x62C5,0x4E39,0x5355,0x90F8,0x63B8,0x80C6,0x65E6,0x6C2E,
+0x4F46,0x60EE,0x6DE1,0x8BDE,0x5F39,0x86CB,0x5F53,0x6321,
+0x515A,0x8361,0x6863,0x5200,0x6363,0x8E48,0x5012,0x5C9B,
+0x7977,0x5BFC,0x5230,0x7A3B,0x60BC,0x9053,0x76D7,0x5FB7,
+0x5F97,0x7684,0x8E6C,0x706F,0x767B,0x7B49,0x77AA,0x51F3,
+0x9093,0x5824,0x4F4E,0x6EF4,0x8FEA,0x654C,0x7B1B,0x72C4,
+0x6DA4,0x7FDF,0x5AE1,0x62B5,0x5E95,0x5730,0x8482,0x7B2C,
+0x5E1D,0x5F1F,0x9012,0x7F14,0x98A0,0x6382,0x6EC7,0x7898,
+0x70B9,0x5178,0x975B,0x57AB,0x7535,0x4F43,0x7538,0x5E97,
+0x60E6,0x5960,0x6DC0,0x6BBF,0x7889,0x53FC,0x96D5,0x51CB,
+0x5201,0x6389,0x540A,0x9493,0x8C03,0x8DCC,0x7239,0x789F,
+0x8776,0x8FED,0x8C0D,0x53E0,0x4E01,0x76EF,0x53EE,0x9489,
+0x9876,0x9F0E,0x952D,0x5B9A,0x8BA2,0x4E22,0x4E1C,0x51AC,
+0x8463,0x61C2,0x52A8,0x680B,0x4F97,0x606B,0x51BB,0x6D1E,
+0x515C,0x6296,0x6597,0x9661,0x8C46,0x9017,0x75D8,0x90FD,
+0x7763,0x6BD2,0x728A,0x72EC,0x8BFB,0x5835,0x7779,0x8D4C,
+0x675C,0x9540,0x809A,0x5EA6,0x6E21,0x5992,0x7AEF,0x77ED,
+0x953B,0x6BB5,0x65AD,0x7F0E,0x5806,0x5151,0x961F,0x5BF9,
+0x58A9,0x5428,0x8E72,0x6566,0x987F,0x56E4,0x949D,0x76FE,
+0x9041,0x6387,0x54C6,0x591A,0x593A,0x579B,0x8EB2,0x6735,
+0x8DFA,0x8235,0x5241,0x60F0,0x5815,0x86FE,0x5CE8,0x9E45,
+0x4FC4,0x989D,0x8BB9,0x5A25,0x6076,0x5384,0x627C,0x904F,
+0x9102,0x997F,0x6069,0x800C,0x513F,0x8033,0x5C14,0x9975,
+0x6D31,0x4E8C,0x8D30,0x53D1,0x7F5A,0x7B4F,0x4F10,0x4E4F,
+0x9600,0x6CD5,0x73D0,0x85E9,0x5E06,0x756A,0x7FFB,0x6A0A,
+0x77FE,0x9492,0x7E41,0x51E1,0x70E6,0x53CD,0x8FD4,0x8303,
+0x8D29,0x72AF,0x996D,0x6CDB,0x574A,0x82B3,0x65B9,0x80AA,
+0x623F,0x9632,0x59A8,0x4EFF,0x8BBF,0x7EBA,0x653E,0x83F2,
+0x975E,0x5561,0x98DE,0x80A5,0x532A,0x8BFD,0x5420,0x80BA,
+0x5E9F,0x6CB8,0x8D39,0x82AC,0x915A,0x5429,0x6C1B,0x5206,
+0x7EB7,0x575F,0x711A,0x6C7E,0x7C89,0x594B,0x4EFD,0x5FFF,
+0x6124,0x7CAA,0x4E30,0x5C01,0x67AB,0x8702,0x5CF0,0x950B,
+0x98CE,0x75AF,0x70FD,0x9022,0x51AF,0x7F1D,0x8BBD,0x5949,
+0x51E4,0x4F5B,0x5426,0x592B,0x6577,0x80A4,0x5B75,0x6276,
+0x62C2,0x8F90,0x5E45,0x6C1F,0x7B26,0x4F0F,0x4FD8,0x670D,
+0x6D6E,0x6DAA,0x798F,0x88B1,0x5F17,0x752B,0x629A,0x8F85,
+0x4FEF,0x91DC,0x65A7,0x812F,0x8151,0x5E9C,0x8150,0x8D74,
+0x526F,0x8986,0x8D4B,0x590D,0x5085,0x4ED8,0x961C,0x7236,
+0x8179,0x8D1F,0x5BCC,0x8BA3,0x9644,0x5987,0x7F1A,0x5490,
+0x5676,0x560E,0x8BE5,0x6539,0x6982,0x9499,0x76D6,0x6E89,
+0x5E72,0x7518,0x6746,0x67D1,0x7AFF,0x809D,0x8D76,0x611F,
+0x79C6,0x6562,0x8D63,0x5188,0x521A,0x94A2,0x7F38,0x809B,
+0x7EB2,0x5C97,0x6E2F,0x6760,0x7BD9,0x768B,0x9AD8,0x818F,
+0x7F94,0x7CD5,0x641E,0x9550,0x7A3F,0x544A,0x54E5,0x6B4C,
+0x6401,0x6208,0x9E3D,0x80F3,0x7599,0x5272,0x9769,0x845B,
+0x683C,0x86E4,0x9601,0x9694,0x94EC,0x4E2A,0x5404,0x7ED9,
+0x6839,0x8DDF,0x8015,0x66F4,0x5E9A,0x7FB9,0x57C2,0x803F,
+0x6897,0x5DE5,0x653B,0x529F,0x606D,0x9F9A,0x4F9B,0x8EAC,
+0x516C,0x5BAB,0x5F13,0x5DE9,0x6C5E,0x62F1,0x8D21,0x5171,
+0x94A9,0x52FE,0x6C9F,0x82DF,0x72D7,0x57A2,0x6784,0x8D2D,
+0x591F,0x8F9C,0x83C7,0x5495,0x7B8D,0x4F30,0x6CBD,0x5B64,
+0x59D1,0x9F13,0x53E4,0x86CA,0x9AA8,0x8C37,0x80A1,0x6545,
+0x987E,0x56FA,0x96C7,0x522E,0x74DC,0x5250,0x5BE1,0x6302,
+0x8902,0x4E56,0x62D0,0x602A,0x68FA,0x5173,0x5B98,0x51A0,
+0x89C2,0x7BA1,0x9986,0x7F50,0x60EF,0x704C,0x8D2F,0x5149,
+0x5E7F,0x901B,0x7470,0x89C4,0x572D,0x7845,0x5F52,0x9F9F,
+0x95FA,0x8F68,0x9B3C,0x8BE1,0x7678,0x6842,0x67DC,0x8DEA,
+0x8D35,0x523D,0x8F8A,0x6EDA,0x68CD,0x9505,0x90ED,0x56FD,
+0x679C,0x88F9,0x8FC7,0x54C8,0x9AB8,0x5B69,0x6D77,0x6C26,
+0x4EA5,0x5BB3,0x9A87,0x9163,0x61A8,0x90AF,0x97E9,0x542B,
+0x6DB5,0x5BD2,0x51FD,0x558A,0x7F55,0x7FF0,0x64BC,0x634D,
+0x65F1,0x61BE,0x608D,0x710A,0x6C57,0x6C49,0x592F,0x676D,
+0x822A,0x58D5,0x568E,0x8C6A,0x6BEB,0x90DD,0x597D,0x8017,
+0x53F7,0x6D69,0x5475,0x559D,0x8377,0x83CF,0x6838,0x79BE,
+0x548C,0x4F55,0x5408,0x76D2,0x8C89,0x9602,0x6CB3,0x6DB8,
+0x8D6B,0x8910,0x9E64,0x8D3A,0x563F,0x9ED1,0x75D5,0x5F88,
+0x72E0,0x6068,0x54FC,0x4EA8,0x6A2A,0x8861,0x6052,0x8F70,
+0x54C4,0x70D8,0x8679,0x9E3F,0x6D2A,0x5B8F,0x5F18,0x7EA2,
+0x5589,0x4FAF,0x7334,0x543C,0x539A,0x5019,0x540E,0x547C,
+0x4E4E,0x5FFD,0x745A,0x58F6,0x846B,0x80E1,0x8774,0x72D0,
+0x7CCA,0x6E56,0x5F27,0x864E,0x552C,0x62A4,0x4E92,0x6CAA,
+0x6237,0x82B1,0x54D7,0x534E,0x733E,0x6ED1,0x753B,0x5212,
+0x5316,0x8BDD,0x69D0,0x5F8A,0x6000,0x6DEE,0x574F,0x6B22,
+0x73AF,0x6853,0x8FD8,0x7F13,0x6362,0x60A3,0x5524,0x75EA,
+0x8C62,0x7115,0x6DA3,0x5BA6,0x5E7B,0x8352,0x614C,0x9EC4,
+0x78FA,0x8757,0x7C27,0x7687,0x51F0,0x60F6,0x714C,0x6643,
+0x5E4C,0x604D,0x8C0E,0x7070,0x6325,0x8F89,0x5FBD,0x6062,
+0x86D4,0x56DE,0x6BC1,0x6094,0x6167,0x5349,0x60E0,0x6666,
+0x8D3F,0x79FD,0x4F1A,0x70E9,0x6C47,0x8BB3,0x8BF2,0x7ED8,
+0x8364,0x660F,0x5A5A,0x9B42,0x6D51,0x6DF7,0x8C41,0x6D3B,
+0x4F19,0x706B,0x83B7,0x6216,0x60D1,0x970D,0x8D27,0x7978,
+0x51FB,0x573E,0x57FA,0x673A,0x7578,0x7A3D,0x79EF,0x7B95,
+0x808C,0x9965,0x8FF9,0x6FC0,0x8BA5,0x9E21,0x59EC,0x7EE9,
+0x7F09,0x5409,0x6781,0x68D8,0x8F91,0x7C4D,0x96C6,0x53CA,
+0x6025,0x75BE,0x6C72,0x5373,0x5AC9,0x7EA7,0x6324,0x51E0,
+0x810A,0x5DF1,0x84DF,0x6280,0x5180,0x5B63,0x4F0E,0x796D,
+0x5242,0x60B8,0x6D4E,0x5BC4,0x5BC2,0x8BA1,0x8BB0,0x65E2,
+0x5FCC,0x9645,0x5993,0x7EE7,0x7EAA,0x5609,0x67B7,0x5939,
+0x4F73,0x5BB6,0x52A0,0x835A,0x988A,0x8D3E,0x7532,0x94BE,
+0x5047,0x7A3C,0x4EF7,0x67B6,0x9A7E,0x5AC1,0x6B7C,0x76D1,
+0x575A,0x5C16,0x7B3A,0x95F4,0x714E,0x517C,0x80A9,0x8270,
+0x5978,0x7F04,0x8327,0x68C0,0x67EC,0x78B1,0x7877,0x62E3,
+0x6361,0x7B80,0x4FED,0x526A,0x51CF,0x8350,0x69DB,0x9274,
+0x8DF5,0x8D31,0x89C1,0x952E,0x7BAD,0x4EF6,0x5065,0x8230,
+0x5251,0x996F,0x6E10,0x6E85,0x6DA7,0x5EFA,0x50F5,0x59DC,
+0x5C06,0x6D46,0x6C5F,0x7586,0x848B,0x6868,0x5956,0x8BB2,
+0x5320,0x9171,0x964D,0x8549,0x6912,0x7901,0x7126,0x80F6,
+0x4EA4,0x90CA,0x6D47,0x9A84,0x5A07,0x56BC,0x6405,0x94F0,
+0x77EB,0x4FA5,0x811A,0x72E1,0x89D2,0x997A,0x7F34,0x7EDE,
+0x527F,0x6559,0x9175,0x8F7F,0x8F83,0x53EB,0x7A96,0x63ED,
+0x63A5,0x7686,0x79F8,0x8857,0x9636,0x622A,0x52AB,0x8282,
+0x6854,0x6770,0x6377,0x776B,0x7AED,0x6D01,0x7ED3,0x89E3,
+0x59D0,0x6212,0x85C9,0x82A5,0x754C,0x501F,0x4ECB,0x75A5,
+0x8BEB,0x5C4A,0x5DFE,0x7B4B,0x65A4,0x91D1,0x4ECA,0x6D25,
+0x895F,0x7D27,0x9526,0x4EC5,0x8C28,0x8FDB,0x9773,0x664B,
+0x7981,0x8FD1,0x70EC,0x6D78,0x5C3D,0x52B2,0x8346,0x5162,
+0x830E,0x775B,0x6676,0x9CB8,0x4EAC,0x60CA,0x7CBE,0x7CB3,
+0x7ECF,0x4E95,0x8B66,0x666F,0x9888,0x9759,0x5883,0x656C,
+0x955C,0x5F84,0x75C9,0x9756,0x7ADF,0x7ADE,0x51C0,0x70AF,
+0x7A98,0x63EA,0x7A76,0x7EA0,0x7396,0x97ED,0x4E45,0x7078,
+0x4E5D,0x9152,0x53A9,0x6551,0x65E7,0x81FC,0x8205,0x548E,
+0x5C31,0x759A,0x97A0,0x62D8,0x72D9,0x75BD,0x5C45,0x9A79,
+0x83CA,0x5C40,0x5480,0x77E9,0x4E3E,0x6CAE,0x805A,0x62D2,
+0x636E,0x5DE8,0x5177,0x8DDD,0x8E1E,0x952F,0x4FF1,0x53E5,
+0x60E7,0x70AC,0x5267,0x6350,0x9E43,0x5A1F,0x5026,0x7737,
+0x5377,0x7EE2,0x6485,0x652B,0x6289,0x6398,0x5014,0x7235,
+0x89C9,0x51B3,0x8BC0,0x7EDD,0x5747,0x83CC,0x94A7,0x519B,
+0x541B,0x5CFB,0x4FCA,0x7AE3,0x6D5A,0x90E1,0x9A8F,0x5580,
+0x5496,0x5361,0x54AF,0x5F00,0x63E9,0x6977,0x51EF,0x6168,
+0x520A,0x582A,0x52D8,0x574E,0x780D,0x770B,0x5EB7,0x6177,
+0x7CE0,0x625B,0x6297,0x4EA2,0x7095,0x8003,0x62F7,0x70E4,
+0x9760,0x5777,0x82DB,0x67EF,0x68F5,0x78D5,0x9897,0x79D1,
+0x58F3,0x54B3,0x53EF,0x6E34,0x514B,0x523B,0x5BA2,0x8BFE,
+0x80AF,0x5543,0x57A6,0x6073,0x5751,0x542D,0x7A7A,0x6050,
+0x5B54,0x63A7,0x62A0,0x53E3,0x6263,0x5BC7,0x67AF,0x54ED,
+0x7A9F,0x82E6,0x9177,0x5E93,0x88E4,0x5938,0x57AE,0x630E,
+0x8DE8,0x80EF,0x5757,0x7B77,0x4FA9,0x5FEB,0x5BBD,0x6B3E,
+0x5321,0x7B50,0x72C2,0x6846,0x77FF,0x7736,0x65F7,0x51B5,
+0x4E8F,0x76D4,0x5CBF,0x7AA5,0x8475,0x594E,0x9B41,0x5080,
+0x9988,0x6127,0x6E83,0x5764,0x6606,0x6346,0x56F0,0x62EC,
+0x6269,0x5ED3,0x9614,0x5783,0x62C9,0x5587,0x8721,0x814A,
+0x8FA3,0x5566,0x83B1,0x6765,0x8D56,0x84DD,0x5A6A,0x680F,
+0x62E6,0x7BEE,0x9611,0x5170,0x6F9C,0x8C30,0x63FD,0x89C8,
+0x61D2,0x7F06,0x70C2,0x6EE5,0x7405,0x6994,0x72FC,0x5ECA,
+0x90CE,0x6717,0x6D6A,0x635E,0x52B3,0x7262,0x8001,0x4F6C,
+0x59E5,0x916A,0x70D9,0x6D9D,0x52D2,0x4E50,0x96F7,0x956D,
+0x857E,0x78CA,0x7D2F,0x5121,0x5792,0x64C2,0x808B,0x7C7B,
+0x6CEA,0x68F1,0x695E,0x51B7,0x5398,0x68A8,0x7281,0x9ECE,
+0x7BF1,0x72F8,0x79BB,0x6F13,0x7406,0x674E,0x91CC,0x9CA4,
+0x793C,0x8389,0x8354,0x540F,0x6817,0x4E3D,0x5389,0x52B1,
+0x783E,0x5386,0x5229,0x5088,0x4F8B,0x4FD0,0x75E2,0x7ACB,
+0x7C92,0x6CA5,0x96B6,0x529B,0x7483,0x54E9,0x4FE9,0x8054,
+0x83B2,0x8FDE,0x9570,0x5EC9,0x601C,0x6D9F,0x5E18,0x655B,
+0x8138,0x94FE,0x604B,0x70BC,0x7EC3,0x7CAE,0x51C9,0x6881,
+0x7CB1,0x826F,0x4E24,0x8F86,0x91CF,0x667E,0x4EAE,0x8C05,
+0x64A9,0x804A,0x50DA,0x7597,0x71CE,0x5BE5,0x8FBD,0x6F66,
+0x4E86,0x6482,0x9563,0x5ED6,0x6599,0x5217,0x88C2,0x70C8,
+0x52A3,0x730E,0x7433,0x6797,0x78F7,0x9716,0x4E34,0x90BB,
+0x9CDE,0x6DCB,0x51DB,0x8D41,0x541D,0x62CE,0x73B2,0x83F1,
+0x96F6,0x9F84,0x94C3,0x4F36,0x7F9A,0x51CC,0x7075,0x9675,
+0x5CAD,0x9886,0x53E6,0x4EE4,0x6E9C,0x7409,0x69B4,0x786B,
+0x998F,0x7559,0x5218,0x7624,0x6D41,0x67F3,0x516D,0x9F99,
+0x804B,0x5499,0x7B3C,0x7ABF,0x9686,0x5784,0x62E2,0x9647,
+0x697C,0x5A04,0x6402,0x7BD3,0x6F0F,0x964B,0x82A6,0x5362,
+0x9885,0x5E90,0x7089,0x63B3,0x5364,0x864F,0x9C81,0x9E93,
+0x788C,0x9732,0x8DEF,0x8D42,0x9E7F,0x6F5E,0x7984,0x5F55,
+0x9646,0x622E,0x9A74,0x5415,0x94DD,0x4FA3,0x65C5,0x5C65,
+0x5C61,0x7F15,0x8651,0x6C2F,0x5F8B,0x7387,0x6EE4,0x7EFF,
+0x5CE6,0x631B,0x5B6A,0x6EE6,0x5375,0x4E71,0x63A0,0x7565,
+0x62A1,0x8F6E,0x4F26,0x4ED1,0x6CA6,0x7EB6,0x8BBA,0x841D,
+0x87BA,0x7F57,0x903B,0x9523,0x7BA9,0x9AA1,0x88F8,0x843D,
+0x6D1B,0x9A86,0x7EDC,0x5988,0x9EBB,0x739B,0x7801,0x8682,
+0x9A6C,0x9A82,0x561B,0x5417,0x57CB,0x4E70,0x9EA6,0x5356,
+0x8FC8,0x8109,0x7792,0x9992,0x86EE,0x6EE1,0x8513,0x66FC,
+0x6162,0x6F2B,0x8C29,0x8292,0x832B,0x76F2,0x6C13,0x5FD9,
+0x83BD,0x732B,0x8305,0x951A,0x6BDB,0x77DB,0x94C6,0x536F,
+0x8302,0x5192,0x5E3D,0x8C8C,0x8D38,0x4E48,0x73AB,0x679A,
+0x6885,0x9176,0x9709,0x7164,0x6CA1,0x7709,0x5A92,0x9541,
+0x6BCF,0x7F8E,0x6627,0x5BD0,0x59B9,0x5A9A,0x95E8,0x95F7,
+0x4EEC,0x840C,0x8499,0x6AAC,0x76DF,0x9530,0x731B,0x68A6,
+0x5B5F,0x772F,0x919A,0x9761,0x7CDC,0x8FF7,0x8C1C,0x5F25,
+0x7C73,0x79D8,0x89C5,0x6CCC,0x871C,0x5BC6,0x5E42,0x68C9,
+0x7720,0x7EF5,0x5195,0x514D,0x52C9,0x5A29,0x7F05,0x9762,
+0x82D7,0x63CF,0x7784,0x85D0,0x79D2,0x6E3A,0x5E99,0x5999,
+0x8511,0x706D,0x6C11,0x62BF,0x76BF,0x654F,0x60AF,0x95FD,
+0x660E,0x879F,0x9E23,0x94ED,0x540D,0x547D,0x8C2C,0x6478,
+0x6479,0x8611,0x6A21,0x819C,0x78E8,0x6469,0x9B54,0x62B9,
+0x672B,0x83AB,0x58A8,0x9ED8,0x6CAB,0x6F20,0x5BDE,0x964C,
+0x8C0B,0x725F,0x67D0,0x62C7,0x7261,0x4EA9,0x59C6,0x6BCD,
+0x5893,0x66AE,0x5E55,0x52DF,0x6155,0x6728,0x76EE,0x7766,
+0x7267,0x7A46,0x62FF,0x54EA,0x5450,0x94A0,0x90A3,0x5A1C,
+0x7EB3,0x6C16,0x4E43,0x5976,0x8010,0x5948,0x5357,0x7537,
+0x96BE,0x56CA,0x6320,0x8111,0x607C,0x95F9,0x6DD6,0x5462,
+0x9981,0x5185,0x5AE9,0x80FD,0x59AE,0x9713,0x502A,0x6CE5,
+0x5C3C,0x62DF,0x4F60,0x533F,0x817B,0x9006,0x6EBA,0x852B,
+0x62C8,0x5E74,0x78BE,0x64B5,0x637B,0x5FF5,0x5A18,0x917F,
+0x9E1F,0x5C3F,0x634F,0x8042,0x5B7D,0x556E,0x954A,0x954D,
+0x6D85,0x60A8,0x67E0,0x72DE,0x51DD,0x5B81,0x62E7,0x6CDE,
+0x725B,0x626D,0x94AE,0x7EBD,0x8113,0x6D53,0x519C,0x5F04,
+0x5974,0x52AA,0x6012,0x5973,0x6696,0x8650,0x759F,0x632A,
+0x61E6,0x7CEF,0x8BFA,0x54E6,0x6B27,0x9E25,0x6BB4,0x85D5,
+0x5455,0x5076,0x6CA4,0x556A,0x8DB4,0x722C,0x5E15,0x6015,
+0x7436,0x62CD,0x6392,0x724C,0x5F98,0x6E43,0x6D3E,0x6500,
+0x6F58,0x76D8,0x78D0,0x76FC,0x7554,0x5224,0x53DB,0x4E53,
+0x5E9E,0x65C1,0x802A,0x80D6,0x629B,0x5486,0x5228,0x70AE,
+0x888D,0x8DD1,0x6CE1,0x5478,0x80DA,0x57F9,0x88F4,0x8D54,
+0x966A,0x914D,0x4F69,0x6C9B,0x55B7,0x76C6,0x7830,0x62A8,
+0x70F9,0x6F8E,0x5F6D,0x84EC,0x68DA,0x787C,0x7BF7,0x81A8,
+0x670B,0x9E4F,0x6367,0x78B0,0x576F,0x7812,0x9739,0x6279,
+0x62AB,0x5288,0x7435,0x6BD7,0x5564,0x813E,0x75B2,0x76AE,
+0x5339,0x75DE,0x50FB,0x5C41,0x8B6C,0x7BC7,0x504F,0x7247,
+0x9A97,0x98D8,0x6F02,0x74E2,0x7968,0x6487,0x77A5,0x62FC,
+0x9891,0x8D2B,0x54C1,0x8058,0x4E52,0x576A,0x82F9,0x840D,
+0x5E73,0x51ED,0x74F6,0x8BC4,0x5C4F,0x5761,0x6CFC,0x9887,
+0x5A46,0x7834,0x9B44,0x8FEB,0x7C95,0x5256,0x6251,0x94FA,
+0x4EC6,0x8386,0x8461,0x83E9,0x84B2,0x57D4,0x6734,0x5703,
+0x666E,0x6D66,0x8C31,0x66DD,0x7011,0x671F,0x6B3A,0x6816,
+0x621A,0x59BB,0x4E03,0x51C4,0x6F06,0x67D2,0x6C8F,0x5176,
+0x68CB,0x5947,0x6B67,0x7566,0x5D0E,0x8110,0x9F50,0x65D7,
+0x7948,0x7941,0x9A91,0x8D77,0x5C82,0x4E5E,0x4F01,0x542F,
+0x5951,0x780C,0x5668,0x6C14,0x8FC4,0x5F03,0x6C7D,0x6CE3,
+0x8BAB,0x6390,0x6070,0x6D3D,0x7275,0x6266,0x948E,0x94C5,
+0x5343,0x8FC1,0x7B7E,0x4EDF,0x8C26,0x4E7E,0x9ED4,0x94B1,
+0x94B3,0x524D,0x6F5C,0x9063,0x6D45,0x8C34,0x5811,0x5D4C,
+0x6B20,0x6B49,0x67AA,0x545B,0x8154,0x7F8C,0x5899,0x8537,
+0x5F3A,0x62A2,0x6A47,0x9539,0x6572,0x6084,0x6865,0x77A7,
+0x4E54,0x4FA8,0x5DE7,0x9798,0x64AC,0x7FD8,0x5CED,0x4FCF,
+0x7A8D,0x5207,0x8304,0x4E14,0x602F,0x7A83,0x94A6,0x4FB5,
+0x4EB2,0x79E6,0x7434,0x52E4,0x82B9,0x64D2,0x79BD,0x5BDD,
+0x6C81,0x9752,0x8F7B,0x6C22,0x503E,0x537F,0x6E05,0x64CE,
+0x6674,0x6C30,0x60C5,0x9877,0x8BF7,0x5E86,0x743C,0x7A77,
+0x79CB,0x4E18,0x90B1,0x7403,0x6C42,0x56DA,0x914B,0x6CC5,
+0x8D8B,0x533A,0x86C6,0x66F2,0x8EAF,0x5C48,0x9A71,0x6E20,
+0x53D6,0x5A36,0x9F8B,0x8DA3,0x53BB,0x5708,0x98A7,0x6743,
+0x919B,0x6CC9,0x5168,0x75CA,0x62F3,0x72AC,0x5238,0x529D,
+0x7F3A,0x7094,0x7638,0x5374,0x9E4A,0x69B7,0x786E,0x96C0,
+0x88D9,0x7FA4,0x7136,0x71C3,0x5189,0x67D3,0x74E4,0x58E4,
+0x6518,0x56B7,0x8BA9,0x9976,0x6270,0x7ED5,0x60F9,0x70ED,
+0x58EC,0x4EC1,0x4EBA,0x5FCD,0x97E7,0x4EFB,0x8BA4,0x5203,
+0x598A,0x7EAB,0x6254,0x4ECD,0x65E5,0x620E,0x8338,0x84C9,
+0x8363,0x878D,0x7194,0x6EB6,0x5BB9,0x7ED2,0x5197,0x63C9,
+0x67D4,0x8089,0x8339,0x8815,0x5112,0x5B7A,0x5982,0x8FB1,
+0x4E73,0x6C5D,0x5165,0x8925,0x8F6F,0x962E,0x854A,0x745E,
+0x9510,0x95F0,0x6DA6,0x82E5,0x5F31,0x6492,0x6D12,0x8428,
+0x816E,0x9CC3,0x585E,0x8D5B,0x4E09,0x53C1,0x4F1E,0x6563,
+0x6851,0x55D3,0x4E27,0x6414,0x9A9A,0x626B,0x5AC2,0x745F,
+0x8272,0x6DA9,0x68EE,0x50E7,0x838E,0x7802,0x6740,0x5239,
+0x6C99,0x7EB1,0x50BB,0x5565,0x715E,0x7B5B,0x6652,0x73CA,
+0x82EB,0x6749,0x5C71,0x5220,0x717D,0x886B,0x95EA,0x9655,
+0x64C5,0x8D61,0x81B3,0x5584,0x6C55,0x6247,0x7F2E,0x5892,
+0x4F24,0x5546,0x8D4F,0x664C,0x4E0A,0x5C1A,0x88F3,0x68A2,
+0x634E,0x7A0D,0x70E7,0x828D,0x52FA,0x97F6,0x5C11,0x54E8,
+0x90B5,0x7ECD,0x5962,0x8D4A,0x86C7,0x820C,0x820D,0x8D66,
+0x6444,0x5C04,0x6151,0x6D89,0x793E,0x8BBE,0x7837,0x7533,
+0x547B,0x4F38,0x8EAB,0x6DF1,0x5A20,0x7EC5,0x795E,0x6C88,
+0x5BA1,0x5A76,0x751A,0x80BE,0x614E,0x6E17,0x58F0,0x751F,
+0x7525,0x7272,0x5347,0x7EF3,0x7701,0x76DB,0x5269,0x80DC,
+0x5723,0x5E08,0x5931,0x72EE,0x65BD,0x6E7F,0x8BD7,0x5C38,
+0x8671,0x5341,0x77F3,0x62FE,0x65F6,0x4EC0,0x98DF,0x8680,
+0x5B9E,0x8BC6,0x53F2,0x77E2,0x4F7F,0x5C4E,0x9A76,0x59CB,
+0x5F0F,0x793A,0x58EB,0x4E16,0x67FF,0x4E8B,0x62ED,0x8A93,
+0x901D,0x52BF,0x662F,0x55DC,0x566C,0x9002,0x4ED5,0x4F8D,
+0x91CA,0x9970,0x6C0F,0x5E02,0x6043,0x5BA4,0x89C6,0x8BD5,
+0x6536,0x624B,0x9996,0x5B88,0x5BFF,0x6388,0x552E,0x53D7,
+0x7626,0x517D,0x852C,0x67A2,0x68B3,0x6B8A,0x6292,0x8F93,
+0x53D4,0x8212,0x6DD1,0x758F,0x4E66,0x8D4E,0x5B70,0x719F,
+0x85AF,0x6691,0x66D9,0x7F72,0x8700,0x9ECD,0x9F20,0x5C5E,
+0x672F,0x8FF0,0x6811,0x675F,0x620D,0x7AD6,0x5885,0x5EB6,
+0x6570,0x6F31,0x6055,0x5237,0x800D,0x6454,0x8870,0x7529,
+0x5E05,0x6813,0x62F4,0x971C,0x53CC,0x723D,0x8C01,0x6C34,
+0x7761,0x7A0E,0x542E,0x77AC,0x987A,0x821C,0x8BF4,0x7855,
+0x6714,0x70C1,0x65AF,0x6495,0x5636,0x601D,0x79C1,0x53F8,
+0x4E1D,0x6B7B,0x8086,0x5BFA,0x55E3,0x56DB,0x4F3A,0x4F3C,
+0x9972,0x5DF3,0x677E,0x8038,0x6002,0x9882,0x9001,0x5B8B,
+0x8BBC,0x8BF5,0x641C,0x8258,0x64DE,0x55FD,0x82CF,0x9165,
+0x4FD7,0x7D20,0x901F,0x7C9F,0x50F3,0x5851,0x6EAF,0x5BBF,
+0x8BC9,0x8083,0x9178,0x849C,0x7B97,0x867D,0x968B,0x968F,
+0x7EE5,0x9AD3,0x788E,0x5C81,0x7A57,0x9042,0x96A7,0x795F,
+0x5B59,0x635F,0x7B0B,0x84D1,0x68AD,0x5506,0x7F29,0x7410,
+0x7D22,0x9501,0x6240,0x584C,0x4ED6,0x5B83,0x5979,0x5854,
+0x736D,0x631E,0x8E4B,0x8E0F,0x80CE,0x82D4,0x62AC,0x53F0,
+0x6CF0,0x915E,0x592A,0x6001,0x6C70,0x574D,0x644A,0x8D2A,
+0x762B,0x6EE9,0x575B,0x6A80,0x75F0,0x6F6D,0x8C2D,0x8C08,
+0x5766,0x6BEF,0x8892,0x78B3,0x63A2,0x53F9,0x70AD,0x6C64,
+0x5858,0x642A,0x5802,0x68E0,0x819B,0x5510,0x7CD6,0x5018,
+0x8EBA,0x6DCC,0x8D9F,0x70EB,0x638F,0x6D9B,0x6ED4,0x7EE6,
+0x8404,0x6843,0x9003,0x6DD8,0x9676,0x8BA8,0x5957,0x7279,
+0x85E4,0x817E,0x75BC,0x8A8A,0x68AF,0x5254,0x8E22,0x9511,
+0x63D0,0x9898,0x8E44,0x557C,0x4F53,0x66FF,0x568F,0x60D5,
+0x6D95,0x5243,0x5C49,0x5929,0x6DFB,0x586B,0x7530,0x751C,
+0x606C,0x8214,0x8146,0x6311,0x6761,0x8FE2,0x773A,0x8DF3,
+0x8D34,0x94C1,0x5E16,0x5385,0x542C,0x70C3,0x6C40,0x5EF7,
+0x505C,0x4EAD,0x5EAD,0x633A,0x8247,0x901A,0x6850,0x916E,
+0x77B3,0x540C,0x94DC,0x5F64,0x7AE5,0x6876,0x6345,0x7B52,
+0x7EDF,0x75DB,0x5077,0x6295,0x5934,0x900F,0x51F8,0x79C3,
+0x7A81,0x56FE,0x5F92,0x9014,0x6D82,0x5C60,0x571F,0x5410,
+0x5154,0x6E4D,0x56E2,0x63A8,0x9893,0x817F,0x8715,0x892A,
+0x9000,0x541E,0x5C6F,0x81C0,0x62D6,0x6258,0x8131,0x9E35,
+0x9640,0x9A6E,0x9A7C,0x692D,0x59A5,0x62D3,0x553E,0x6316,
+0x54C7,0x86D9,0x6D3C,0x5A03,0x74E6,0x889C,0x6B6A,0x5916,
+0x8C4C,0x5F2F,0x6E7E,0x73A9,0x987D,0x4E38,0x70F7,0x5B8C,
+0x7897,0x633D,0x665A,0x7696,0x60CB,0x5B9B,0x5A49,0x4E07,
+0x8155,0x6C6A,0x738B,0x4EA1,0x6789,0x7F51,0x5F80,0x65FA,
+0x671B,0x5FD8,0x5984,0x5A01,0x5DCD,0x5FAE,0x5371,0x97E6,
+0x8FDD,0x6845,0x56F4,0x552F,0x60DF,0x4E3A,0x6F4D,0x7EF4,
+0x82C7,0x840E,0x59D4,0x4F1F,0x4F2A,0x5C3E,0x7EAC,0x672A,
+0x851A,0x5473,0x754F,0x80C3,0x5582,0x9B4F,0x4F4D,0x6E2D,
+0x8C13,0x5C09,0x6170,0x536B,0x761F,0x6E29,0x868A,0x6587,
+0x95FB,0x7EB9,0x543B,0x7A33,0x7D0A,0x95EE,0x55E1,0x7FC1,
+0x74EE,0x631D,0x8717,0x6DA1,0x7A9D,0x6211,0x65A1,0x5367,
+0x63E1,0x6C83,0x5DEB,0x545C,0x94A8,0x4E4C,0x6C61,0x8BEC,
+0x5C4B,0x65E0,0x829C,0x68A7,0x543E,0x5434,0x6BCB,0x6B66,
+0x4E94,0x6342,0x5348,0x821E,0x4F0D,0x4FAE,0x575E,0x620A,
+0x96FE,0x6664,0x7269,0x52FF,0x52A1,0x609F,0x8BEF,0x6614,
+0x7199,0x6790,0x897F,0x7852,0x77FD,0x6670,0x563B,0x5438,
+0x9521,0x727A,0x7A00,0x606F,0x5E0C,0x6089,0x819D,0x5915,
+0x60DC,0x7184,0x70EF,0x6EAA,0x6C50,0x7280,0x6A84,0x88AD,
+0x5E2D,0x4E60,0x5AB3,0x559C,0x94E3,0x6D17,0x7CFB,0x9699,
+0x620F,0x7EC6,0x778E,0x867E,0x5323,0x971E,0x8F96,0x6687,
+0x5CE1,0x4FA0,0x72ED,0x4E0B,0x53A6,0x590F,0x5413,0x6380,
+0x9528,0x5148,0x4ED9,0x9C9C,0x7EA4,0x54B8,0x8D24,0x8854,
+0x8237,0x95F2,0x6D8E,0x5F26,0x5ACC,0x663E,0x9669,0x73B0,
+0x732E,0x53BF,0x817A,0x9985,0x7FA1,0x5BAA,0x9677,0x9650,
+0x7EBF,0x76F8,0x53A2,0x9576,0x9999,0x7BB1,0x8944,0x6E58,
+0x4E61,0x7FD4,0x7965,0x8BE6,0x60F3,0x54CD,0x4EAB,0x9879,
+0x5DF7,0x6A61,0x50CF,0x5411,0x8C61,0x8427,0x785D,0x9704,
+0x524A,0x54EE,0x56A3,0x9500,0x6D88,0x5BB5,0x6DC6,0x6653,
+0x5C0F,0x5B5D,0x6821,0x8096,0x5578,0x7B11,0x6548,0x6954,
+0x4E9B,0x6B47,0x874E,0x978B,0x534F,0x631F,0x643A,0x90AA,
+0x659C,0x80C1,0x8C10,0x5199,0x68B0,0x5378,0x87F9,0x61C8,
+0x6CC4,0x6CFB,0x8C22,0x5C51,0x85AA,0x82AF,0x950C,0x6B23,
+0x8F9B,0x65B0,0x5FFB,0x5FC3,0x4FE1,0x8845,0x661F,0x8165,
+0x7329,0x60FA,0x5174,0x5211,0x578B,0x5F62,0x90A2,0x884C,
+0x9192,0x5E78,0x674F,0x6027,0x59D3,0x5144,0x51F6,0x80F8,
+0x5308,0x6C79,0x96C4,0x718A,0x4F11,0x4FEE,0x7F9E,0x673D,
+0x55C5,0x9508,0x79C0,0x8896,0x7EE3,0x589F,0x620C,0x9700,
+0x865A,0x5618,0x987B,0x5F90,0x8BB8,0x84C4,0x9157,0x53D9,
+0x65ED,0x5E8F,0x755C,0x6064,0x7D6E,0x5A7F,0x7EEA,0x7EED,
+0x8F69,0x55A7,0x5BA3,0x60AC,0x65CB,0x7384,0x9009,0x7663,
+0x7729,0x7EDA,0x9774,0x859B,0x5B66,0x7A74,0x96EA,0x8840,
+0x52CB,0x718F,0x5FAA,0x65EC,0x8BE2,0x5BFB,0x9A6F,0x5DE1,
+0x6B89,0x6C5B,0x8BAD,0x8BAF,0x900A,0x8FC5,0x538B,0x62BC,
+0x9E26,0x9E2D,0x5440,0x4E2B,0x82BD,0x7259,0x869C,0x5D16,
+0x8859,0x6DAF,0x96C5,0x54D1,0x4E9A,0x8BB6,0x7109,0x54BD,
+0x9609,0x70DF,0x6DF9,0x76D0,0x4E25,0x7814,0x8712,0x5CA9,
+0x5EF6,0x8A00,0x989C,0x960E,0x708E,0x6CBF,0x5944,0x63A9,
+0x773C,0x884D,0x6F14,0x8273,0x5830,0x71D5,0x538C,0x781A,
+0x96C1,0x5501,0x5F66,0x7130,0x5BB4,0x8C1A,0x9A8C,0x6B83,
+0x592E,0x9E2F,0x79E7,0x6768,0x626C,0x4F6F,0x75A1,0x7F8A,
+0x6D0B,0x9633,0x6C27,0x4EF0,0x75D2,0x517B,0x6837,0x6F3E,
+0x9080,0x8170,0x5996,0x7476,0x6447,0x5C27,0x9065,0x7A91,
+0x8C23,0x59DA,0x54AC,0x8200,0x836F,0x8981,0x8000,0x6930,
+0x564E,0x8036,0x7237,0x91CE,0x51B6,0x4E5F,0x9875,0x6396,
+0x4E1A,0x53F6,0x66F3,0x814B,0x591C,0x6DB2,0x4E00,0x58F9,
+0x533B,0x63D6,0x94F1,0x4F9D,0x4F0A,0x8863,0x9890,0x5937,
+0x9057,0x79FB,0x4EEA,0x80F0,0x7591,0x6C82,0x5B9C,0x59E8,
+0x5F5D,0x6905,0x8681,0x501A,0x5DF2,0x4E59,0x77E3,0x4EE5,
+0x827A,0x6291,0x6613,0x9091,0x5C79,0x4EBF,0x5F79,0x81C6,
+0x9038,0x8084,0x75AB,0x4EA6,0x88D4,0x610F,0x6BC5,0x5FC6,
+0x4E49,0x76CA,0x6EA2,0x8BE3,0x8BAE,0x8C0A,0x8BD1,0x5F02,
+0x7FFC,0x7FCC,0x7ECE,0x8335,0x836B,0x56E0,0x6BB7,0x97F3,
+0x9634,0x59FB,0x541F,0x94F6,0x6DEB,0x5BC5,0x996E,0x5C39,
+0x5F15,0x9690,0x5370,0x82F1,0x6A31,0x5A74,0x9E70,0x5E94,
+0x7F28,0x83B9,0x8424,0x8425,0x8367,0x8747,0x8FCE,0x8D62,
+0x76C8,0x5F71,0x9896,0x786C,0x6620,0x54DF,0x62E5,0x4F63,
+0x81C3,0x75C8,0x5EB8,0x96CD,0x8E0A,0x86F9,0x548F,0x6CF3,
+0x6D8C,0x6C38,0x607F,0x52C7,0x7528,0x5E7D,0x4F18,0x60A0,
+0x5FE7,0x5C24,0x7531,0x90AE,0x94C0,0x72B9,0x6CB9,0x6E38,
+0x9149,0x6709,0x53CB,0x53F3,0x4F51,0x91C9,0x8BF1,0x53C8,
+0x5E7C,0x8FC2,0x6DE4,0x4E8E,0x76C2,0x6986,0x865E,0x611A,
+0x8206,0x4F59,0x4FDE,0x903E,0x9C7C,0x6109,0x6E1D,0x6E14,
+0x9685,0x4E88,0x5A31,0x96E8,0x4E0E,0x5C7F,0x79B9,0x5B87,
+0x8BED,0x7FBD,0x7389,0x57DF,0x828B,0x90C1,0x5401,0x9047,
+0x55BB,0x5CEA,0x5FA1,0x6108,0x6B32,0x72F1,0x80B2,0x8A89,
+0x6D74,0x5BD3,0x88D5,0x9884,0x8C6B,0x9A6D,0x9E33,0x6E0A,
+0x51A4,0x5143,0x57A3,0x8881,0x539F,0x63F4,0x8F95,0x56ED,
+0x5458,0x5706,0x733F,0x6E90,0x7F18,0x8FDC,0x82D1,0x613F,
+0x6028,0x9662,0x66F0,0x7EA6,0x8D8A,0x8DC3,0x94A5,0x5CB3,
+0x7CA4,0x6708,0x60A6,0x9605,0x8018,0x4E91,0x90E7,0x5300,
+0x9668,0x5141,0x8FD0,0x8574,0x915D,0x6655,0x97F5,0x5B55,
+0x531D,0x7838,0x6742,0x683D,0x54C9,0x707E,0x5BB0,0x8F7D,
+0x518D,0x5728,0x54B1,0x6512,0x6682,0x8D5E,0x8D43,0x810F,
+0x846C,0x906D,0x7CDF,0x51FF,0x85FB,0x67A3,0x65E9,0x6FA1,
+0x86A4,0x8E81,0x566A,0x9020,0x7682,0x7076,0x71E5,0x8D23,
+0x62E9,0x5219,0x6CFD,0x8D3C,0x600E,0x589E,0x618E,0x66FE,
+0x8D60,0x624E,0x55B3,0x6E23,0x672D,0x8F67,0x94E1,0x95F8,
+0x7728,0x6805,0x69A8,0x548B,0x4E4D,0x70B8,0x8BC8,0x6458,
+0x658B,0x5B85,0x7A84,0x503A,0x5BE8,0x77BB,0x6BE1,0x8A79,
+0x7C98,0x6CBE,0x76CF,0x65A9,0x8F97,0x5D2D,0x5C55,0x8638,
+0x6808,0x5360,0x6218,0x7AD9,0x6E5B,0x7EFD,0x6A1F,0x7AE0,
+0x5F70,0x6F33,0x5F20,0x638C,0x6DA8,0x6756,0x4E08,0x5E10,
+0x8D26,0x4ED7,0x80C0,0x7634,0x969C,0x62DB,0x662D,0x627E,
+0x6CBC,0x8D75,0x7167,0x7F69,0x5146,0x8087,0x53EC,0x906E,
+0x6298,0x54F2,0x86F0,0x8F99,0x8005,0x9517,0x8517,0x8FD9,
+0x6D59,0x73CD,0x659F,0x771F,0x7504,0x7827,0x81FB,0x8D1E,
+0x9488,0x4FA6,0x6795,0x75B9,0x8BCA,0x9707,0x632F,0x9547,
+0x9635,0x84B8,0x6323,0x7741,0x5F81,0x72F0,0x4E89,0x6014,
+0x6574,0x62EF,0x6B63,0x653F,0x5E27,0x75C7,0x90D1,0x8BC1,
+0x829D,0x679D,0x652F,0x5431,0x8718,0x77E5,0x80A2,0x8102,
+0x6C41,0x4E4B,0x7EC7,0x804C,0x76F4,0x690D,0x6B96,0x6267,
+0x503C,0x4F84,0x5740,0x6307,0x6B62,0x8DBE,0x53EA,0x65E8,
+0x7EB8,0x5FD7,0x631A,0x63B7,0x81F3,0x81F4,0x7F6E,0x5E1C,
+0x5CD9,0x5236,0x667A,0x79E9,0x7A1A,0x8D28,0x7099,0x75D4,
+0x6EDE,0x6CBB,0x7A92,0x4E2D,0x76C5,0x5FE0,0x949F,0x8877,
+0x7EC8,0x79CD,0x80BF,0x91CD,0x4EF2,0x4F17,0x821F,0x5468,
+0x5DDE,0x6D32,0x8BCC,0x7CA5,0x8F74,0x8098,0x5E1A,0x5492,
+0x76B1,0x5B99,0x663C,0x9AA4,0x73E0,0x682A,0x86DB,0x6731,
+0x732A,0x8BF8,0x8BDB,0x9010,0x7AF9,0x70DB,0x716E,0x62C4,
+0x77A9,0x5631,0x4E3B,0x8457,0x67F1,0x52A9,0x86C0,0x8D2E,
+0x94F8,0x7B51,0x4F4F,0x6CE8,0x795D,0x9A7B,0x6293,0x722A,
+0x62FD,0x4E13,0x7816,0x8F6C,0x64B0,0x8D5A,0x7BC6,0x6869,
+0x5E84,0x88C5,0x5986,0x649E,0x58EE,0x72B6,0x690E,0x9525,
+0x8FFD,0x8D58,0x5760,0x7F00,0x8C06,0x51C6,0x6349,0x62D9,
+0x5353,0x684C,0x7422,0x8301,0x914C,0x5544,0x7740,0x707C,
+0x6D4A,0x5179,0x54A8,0x8D44,0x59FF,0x6ECB,0x6DC4,0x5B5C,
+0x7D2B,0x4ED4,0x7C7D,0x6ED3,0x5B50,0x81EA,0x6E0D,0x5B57,
+0x9B03,0x68D5,0x8E2A,0x5B97,0x7EFC,0x603B,0x7EB5,0x90B9,
+0x8D70,0x594F,0x63CD,0x79DF,0x8DB3,0x5352,0x65CF,0x7956,
+0x8BC5,0x963B,0x7EC4,0x94BB,0x7E82,0x5634,0x9189,0x6700,
+0x7F6A,0x5C0A,0x9075,0x6628,0x5DE6,0x4F50,0x67DE,0x505A,
+0x4F5C,0x5750,0x5EA7,0x2000,0x2000,0x2000,0x2000,0x2000,
+0x4E8D,0x4E0C,0x5140,0x4E10,0x5EFF,0x5345,0x4E15,0x4E98,
+0x4E1E,0x9B32,0x5B6C,0x5669,0x4E28,0x79BA,0x4E3F,0x5315,
+0x4E47,0x592D,0x723B,0x536E,0x6C10,0x56DF,0x80E4,0x9997,
+0x6BD3,0x777E,0x9F17,0x4E36,0x4E9F,0x9F10,0x4E5C,0x4E69,
+0x4E93,0x8288,0x5B5B,0x556C,0x560F,0x4EC4,0x538D,0x539D,
+0x53A3,0x53A5,0x53AE,0x9765,0x8D5D,0x531A,0x53F5,0x5326,
+0x532E,0x533E,0x8D5C,0x5366,0x5363,0x5202,0x5208,0x520E,
+0x522D,0x5233,0x523F,0x5240,0x524C,0x525E,0x5261,0x525C,
+0x84AF,0x527D,0x5282,0x5281,0x5290,0x5293,0x5182,0x7F54,
+0x4EBB,0x4EC3,0x4EC9,0x4EC2,0x4EE8,0x4EE1,0x4EEB,0x4EDE,
+0x4F1B,0x4EF3,0x4F22,0x4F64,0x4EF5,0x4F25,0x4F27,0x4F09,
+0x4F2B,0x4F5E,0x4F67,0x6538,0x4F5A,0x4F5D,0x4F5F,0x4F57,
+0x4F32,0x4F3D,0x4F76,0x4F74,0x4F91,0x4F89,0x4F83,0x4F8F,
+0x4F7E,0x4F7B,0x4FAA,0x4F7C,0x4FAC,0x4F94,0x4FE6,0x4FE8,
+0x4FEA,0x4FC5,0x4FDA,0x4FE3,0x4FDC,0x4FD1,0x4FDF,0x4FF8,
+0x5029,0x504C,0x4FF3,0x502C,0x500F,0x502E,0x502D,0x4FFE,
+0x501C,0x500C,0x5025,0x5028,0x507E,0x5043,0x5055,0x5048,
+0x504E,0x506C,0x507B,0x50A5,0x50A7,0x50A9,0x50BA,0x50D6,
+0x5106,0x50ED,0x50EC,0x50E6,0x50EE,0x5107,0x510B,0x4EDD,
+0x6C3D,0x4F58,0x4F65,0x4FCE,0x9FA0,0x6C46,0x7C74,0x516E,
+0x5DFD,0x9EC9,0x9998,0x5181,0x5914,0x52F9,0x530D,0x8A07,
+0x5310,0x51EB,0x5919,0x5155,0x4EA0,0x5156,0x4EB3,0x886E,
+0x88A4,0x4EB5,0x8114,0x88D2,0x7980,0x5B34,0x8803,0x7FB8,
+0x51AB,0x51B1,0x51BD,0x51BC,0x51C7,0x5196,0x51A2,0x51A5,
+0x8BA0,0x8BA6,0x8BA7,0x8BAA,0x8BB4,0x8BB5,0x8BB7,0x8BC2,
+0x8BC3,0x8BCB,0x8BCF,0x8BCE,0x8BD2,0x8BD3,0x8BD4,0x8BD6,
+0x8BD8,0x8BD9,0x8BDC,0x8BDF,0x8BE0,0x8BE4,0x8BE8,0x8BE9,
+0x8BEE,0x8BF0,0x8BF3,0x8BF6,0x8BF9,0x8BFC,0x8BFF,0x8C00,
+0x8C02,0x8C04,0x8C07,0x8C0C,0x8C0F,0x8C11,0x8C12,0x8C14,
+0x8C15,0x8C16,0x8C19,0x8C1B,0x8C18,0x8C1D,0x8C1F,0x8C20,
+0x8C21,0x8C25,0x8C27,0x8C2A,0x8C2B,0x8C2E,0x8C2F,0x8C32,
+0x8C33,0x8C35,0x8C36,0x5369,0x537A,0x961D,0x9622,0x9621,
+0x9631,0x962A,0x963D,0x963C,0x9642,0x9649,0x9654,0x965F,
+0x9667,0x966C,0x9672,0x9674,0x9688,0x968D,0x9697,0x96B0,
+0x9097,0x909B,0x909D,0x9099,0x90AC,0x90A1,0x90B4,0x90B3,
+0x90B6,0x90BA,0x90B8,0x90B0,0x90CF,0x90C5,0x90BE,0x90D0,
+0x90C4,0x90C7,0x90D3,0x90E6,0x90E2,0x90DC,0x90D7,0x90DB,
+0x90EB,0x90EF,0x90FE,0x9104,0x9122,0x911E,0x9123,0x9131,
+0x912F,0x9139,0x9143,0x9146,0x520D,0x5942,0x52A2,0x52AC,
+0x52AD,0x52BE,0x54FF,0x52D0,0x52D6,0x52F0,0x53DF,0x71EE,
+0x77CD,0x5EF4,0x51F5,0x51FC,0x9B2F,0x53B6,0x5F01,0x755A,
+0x5DEF,0x574C,0x57A9,0x57A1,0x587E,0x58BC,0x58C5,0x58D1,
+0x5729,0x572C,0x572A,0x5733,0x5739,0x572E,0x572F,0x575C,
+0x573B,0x5742,0x5769,0x5785,0x576B,0x5786,0x577C,0x577B,
+0x5768,0x576D,0x5776,0x5773,0x57AD,0x57A4,0x578C,0x57B2,
+0x57CF,0x57A7,0x57B4,0x5793,0x57A0,0x57D5,0x57D8,0x57DA,
+0x57D9,0x57D2,0x57B8,0x57F4,0x57EF,0x57F8,0x57E4,0x57DD,
+0x580B,0x580D,0x57FD,0x57ED,0x5800,0x581E,0x5819,0x5844,
+0x5820,0x5865,0x586C,0x5881,0x5889,0x589A,0x5880,0x99A8,
+0x9F19,0x61FF,0x8279,0x827D,0x827F,0x828F,0x828A,0x82A8,
+0x8284,0x828E,0x8291,0x8297,0x8299,0x82AB,0x82B8,0x82BE,
+0x82B0,0x82C8,0x82CA,0x82E3,0x8298,0x82B7,0x82AE,0x82CB,
+0x82CC,0x82C1,0x82A9,0x82B4,0x82A1,0x82AA,0x829F,0x82C4,
+0x82CE,0x82A4,0x82E1,0x8309,0x82F7,0x82E4,0x830F,0x8307,
+0x82DC,0x82F4,0x82D2,0x82D8,0x830C,0x82FB,0x82D3,0x8311,
+0x831A,0x8306,0x8314,0x8315,0x82E0,0x82D5,0x831C,0x8351,
+0x835B,0x835C,0x8308,0x8392,0x833C,0x8334,0x8331,0x839B,
+0x835E,0x832F,0x834F,0x8347,0x8343,0x835F,0x8340,0x8317,
+0x8360,0x832D,0x833A,0x8333,0x8366,0x8365,0x8368,0x831B,
+0x8369,0x836C,0x836A,0x836D,0x836E,0x83B0,0x8378,0x83B3,
+0x83B4,0x83A0,0x83AA,0x8393,0x839C,0x8385,0x837C,0x83B6,
+0x83A9,0x837D,0x83B8,0x837B,0x8398,0x839E,0x83A8,0x83BA,
+0x83BC,0x83C1,0x8401,0x83E5,0x83D8,0x5807,0x8418,0x840B,
+0x83DD,0x83FD,0x83D6,0x841C,0x8438,0x8411,0x8406,0x83D4,
+0x83DF,0x840F,0x8403,0x83F8,0x83F9,0x83EA,0x83C5,0x83C0,
+0x8426,0x83F0,0x83E1,0x845C,0x8451,0x845A,0x8459,0x8473,
+0x8487,0x8488,0x847A,0x8489,0x8478,0x843C,0x8446,0x8469,
+0x8476,0x848C,0x848E,0x8431,0x846D,0x84C1,0x84CD,0x84D0,
+0x84E6,0x84BD,0x84D3,0x84CA,0x84BF,0x84BA,0x84E0,0x84A1,
+0x84B9,0x84B4,0x8497,0x84E5,0x84E3,0x850C,0x750D,0x8538,
+0x84F0,0x8539,0x851F,0x853A,0x8556,0x853B,0x84FF,0x84FC,
+0x8559,0x8548,0x8568,0x8564,0x855E,0x857A,0x77A2,0x8543,
+0x8572,0x857B,0x85A4,0x85A8,0x8587,0x858F,0x8579,0x85AE,
+0x859C,0x8585,0x85B9,0x85B7,0x85B0,0x85D3,0x85C1,0x85DC,
+0x85FF,0x8627,0x8605,0x8629,0x8616,0x863C,0x5EFE,0x5F08,
+0x593C,0x5941,0x8037,0x5955,0x595A,0x5958,0x530F,0x5C22,
+0x5C25,0x5C2C,0x5C34,0x624C,0x626A,0x629F,0x62BB,0x62CA,
+0x62DA,0x62D7,0x62EE,0x6322,0x62F6,0x6339,0x634B,0x6343,
+0x63AD,0x63F6,0x6371,0x637A,0x638E,0x63B4,0x636D,0x63AC,
+0x638A,0x6369,0x63AE,0x63BC,0x63F2,0x63F8,0x63E0,0x63FF,
+0x63C4,0x63DE,0x63CE,0x6452,0x63C6,0x63BE,0x6445,0x6441,
+0x640B,0x641B,0x6420,0x640C,0x6426,0x6421,0x645E,0x6484,
+0x646D,0x6496,0x647A,0x64B7,0x64B8,0x6499,0x64BA,0x64C0,
+0x64D0,0x64D7,0x64E4,0x64E2,0x6509,0x6525,0x652E,0x5F0B,
+0x5FD2,0x7519,0x5F11,0x535F,0x53F1,0x53FD,0x53E9,0x53E8,
+0x53FB,0x5412,0x5416,0x5406,0x544B,0x5452,0x5453,0x5454,
+0x5456,0x5443,0x5421,0x5457,0x5459,0x5423,0x5432,0x5482,
+0x5494,0x5477,0x5471,0x5464,0x549A,0x549B,0x5484,0x5476,
+0x5466,0x549D,0x54D0,0x54AD,0x54C2,0x54B4,0x54D2,0x54A7,
+0x54A6,0x54D3,0x54D4,0x5472,0x54A3,0x54D5,0x54BB,0x54BF,
+0x54CC,0x54D9,0x54DA,0x54DC,0x54A9,0x54AA,0x54A4,0x54DD,
+0x54CF,0x54DE,0x551B,0x54E7,0x5520,0x54FD,0x5514,0x54F3,
+0x5522,0x5523,0x550F,0x5511,0x5527,0x552A,0x5567,0x558F,
+0x55B5,0x5549,0x556D,0x5541,0x5555,0x553F,0x5550,0x553C,
+0x5537,0x5556,0x5575,0x5576,0x5577,0x5533,0x5530,0x555C,
+0x558B,0x55D2,0x5583,0x55B1,0x55B9,0x5588,0x5581,0x559F,
+0x557E,0x55D6,0x5591,0x557B,0x55DF,0x55BD,0x55BE,0x5594,
+0x5599,0x55EA,0x55F7,0x55C9,0x561F,0x55D1,0x55EB,0x55EC,
+0x55D4,0x55E6,0x55DD,0x55C4,0x55EF,0x55E5,0x55F2,0x55F3,
+0x55CC,0x55CD,0x55E8,0x55F5,0x55E4,0x8F94,0x561E,0x5608,
+0x560C,0x5601,0x5624,0x5623,0x55FE,0x5600,0x5627,0x562D,
+0x5658,0x5639,0x5657,0x562C,0x564D,0x5662,0x5659,0x565C,
+0x564C,0x5654,0x5686,0x5664,0x5671,0x566B,0x567B,0x567C,
+0x5685,0x5693,0x56AF,0x56D4,0x56D7,0x56DD,0x56E1,0x56F5,
+0x56EB,0x56F9,0x56FF,0x5704,0x570A,0x5709,0x571C,0x5E0F,
+0x5E19,0x5E14,0x5E11,0x5E31,0x5E3B,0x5E3C,0x5E37,0x5E44,
+0x5E54,0x5E5B,0x5E5E,0x5E61,0x5C8C,0x5C7A,0x5C8D,0x5C90,
+0x5C96,0x5C88,0x5C98,0x5C99,0x5C91,0x5C9A,0x5C9C,0x5CB5,
+0x5CA2,0x5CBD,0x5CAC,0x5CAB,0x5CB1,0x5CA3,0x5CC1,0x5CB7,
+0x5CC4,0x5CD2,0x5CE4,0x5CCB,0x5CE5,0x5D02,0x5D03,0x5D27,
+0x5D26,0x5D2E,0x5D24,0x5D1E,0x5D06,0x5D1B,0x5D58,0x5D3E,
+0x5D34,0x5D3D,0x5D6C,0x5D5B,0x5D6F,0x5D5D,0x5D6B,0x5D4B,
+0x5D4A,0x5D69,0x5D74,0x5D82,0x5D99,0x5D9D,0x8C73,0x5DB7,
+0x5DC5,0x5F73,0x5F77,0x5F82,0x5F87,0x5F89,0x5F8C,0x5F95,
+0x5F99,0x5F9C,0x5FA8,0x5FAD,0x5FB5,0x5FBC,0x8862,0x5F61,
+0x72AD,0x72B0,0x72B4,0x72B7,0x72B8,0x72C3,0x72C1,0x72CE,
+0x72CD,0x72D2,0x72E8,0x72EF,0x72E9,0x72F2,0x72F4,0x72F7,
+0x7301,0x72F3,0x7303,0x72FA,0x72FB,0x7317,0x7313,0x7321,
+0x730A,0x731E,0x731D,0x7315,0x7322,0x7339,0x7325,0x732C,
+0x7338,0x7331,0x7350,0x734D,0x7357,0x7360,0x736C,0x736F,
+0x737E,0x821B,0x5925,0x98E7,0x5924,0x5902,0x9963,0x9967,
+0x9968,0x9969,0x996A,0x996B,0x996C,0x9974,0x9977,0x997D,
+0x9980,0x9984,0x9987,0x998A,0x998D,0x9990,0x9991,0x9993,
+0x9994,0x9995,0x5E80,0x5E91,0x5E8B,0x5E96,0x5EA5,0x5EA0,
+0x5EB9,0x5EB5,0x5EBE,0x5EB3,0x8D53,0x5ED2,0x5ED1,0x5EDB,
+0x5EE8,0x5EEA,0x81BA,0x5FC4,0x5FC9,0x5FD6,0x5FCF,0x6003,
+0x5FEE,0x6004,0x5FE1,0x5FE4,0x5FFE,0x6005,0x6006,0x5FEA,
+0x5FED,0x5FF8,0x6019,0x6035,0x6026,0x601B,0x600F,0x600D,
+0x6029,0x602B,0x600A,0x603F,0x6021,0x6078,0x6079,0x607B,
+0x607A,0x6042,0x606A,0x607D,0x6096,0x609A,0x60AD,0x609D,
+0x6083,0x6092,0x608C,0x609B,0x60EC,0x60BB,0x60B1,0x60DD,
+0x60D8,0x60C6,0x60DA,0x60B4,0x6120,0x6126,0x6115,0x6123,
+0x60F4,0x6100,0x610E,0x612B,0x614A,0x6175,0x61AC,0x6194,
+0x61A7,0x61B7,0x61D4,0x61F5,0x5FDD,0x96B3,0x95E9,0x95EB,
+0x95F1,0x95F3,0x95F5,0x95F6,0x95FC,0x95FE,0x9603,0x9604,
+0x9606,0x9608,0x960A,0x960B,0x960C,0x960D,0x960F,0x9612,
+0x9615,0x9616,0x9617,0x9619,0x961A,0x4E2C,0x723F,0x6215,
+0x6C35,0x6C54,0x6C5C,0x6C4A,0x6CA3,0x6C85,0x6C90,0x6C94,
+0x6C8C,0x6C68,0x6C69,0x6C74,0x6C76,0x6C86,0x6CA9,0x6CD0,
+0x6CD4,0x6CAD,0x6CF7,0x6CF8,0x6CF1,0x6CD7,0x6CB2,0x6CE0,
+0x6CD6,0x6CFA,0x6CEB,0x6CEE,0x6CB1,0x6CD3,0x6CEF,0x6CFE,
+0x6D39,0x6D27,0x6D0C,0x6D43,0x6D48,0x6D07,0x6D04,0x6D19,
+0x6D0E,0x6D2B,0x6D4D,0x6D2E,0x6D35,0x6D1A,0x6D4F,0x6D52,
+0x6D54,0x6D33,0x6D91,0x6D6F,0x6D9E,0x6DA0,0x6D5E,0x6D93,
+0x6D94,0x6D5C,0x6D60,0x6D7C,0x6D63,0x6E1A,0x6DC7,0x6DC5,
+0x6DDE,0x6E0E,0x6DBF,0x6DE0,0x6E11,0x6DE6,0x6DDD,0x6DD9,
+0x6E16,0x6DAB,0x6E0C,0x6DAE,0x6E2B,0x6E6E,0x6E4E,0x6E6B,
+0x6EB2,0x6E5F,0x6E86,0x6E53,0x6E54,0x6E32,0x6E25,0x6E44,
+0x6EDF,0x6EB1,0x6E98,0x6EE0,0x6F2D,0x6EE2,0x6EA5,0x6EA7,
+0x6EBD,0x6EBB,0x6EB7,0x6ED7,0x6EB4,0x6ECF,0x6E8F,0x6EC2,
+0x6E9F,0x6F62,0x6F46,0x6F47,0x6F24,0x6F15,0x6EF9,0x6F2F,
+0x6F36,0x6F4B,0x6F74,0x6F2A,0x6F09,0x6F29,0x6F89,0x6F8D,
+0x6F8C,0x6F78,0x6F72,0x6F7C,0x6F7A,0x6FD1,0x6FC9,0x6FA7,
+0x6FB9,0x6FB6,0x6FC2,0x6FE1,0x6FEE,0x6FDE,0x6FE0,0x6FEF,
+0x701A,0x7023,0x701B,0x7039,0x7035,0x704F,0x705E,0x5B80,
+0x5B84,0x5B95,0x5B93,0x5BA5,0x5BB8,0x752F,0x9A9E,0x6434,
+0x5BE4,0x5BEE,0x8930,0x5BF0,0x8E47,0x8B07,0x8FB6,0x8FD3,
+0x8FD5,0x8FE5,0x8FEE,0x8FE4,0x8FE9,0x8FE6,0x8FF3,0x8FE8,
+0x9005,0x9004,0x900B,0x9026,0x9011,0x900D,0x9016,0x9021,
+0x9035,0x9036,0x902D,0x902F,0x9044,0x9051,0x9052,0x9050,
+0x9068,0x9058,0x9062,0x905B,0x66B9,0x9074,0x907D,0x9082,
+0x9088,0x9083,0x908B,0x5F50,0x5F57,0x5F56,0x5F58,0x5C3B,
+0x54AB,0x5C50,0x5C59,0x5B71,0x5C63,0x5C66,0x7FBC,0x5F2A,
+0x5F29,0x5F2D,0x8274,0x5F3C,0x9B3B,0x5C6E,0x5981,0x5983,
+0x598D,0x59A9,0x59AA,0x59A3,0x5997,0x59CA,0x59AB,0x599E,
+0x59A4,0x59D2,0x59B2,0x59AF,0x59D7,0x59BE,0x5A05,0x5A06,
+0x59DD,0x5A08,0x59E3,0x59D8,0x59F9,0x5A0C,0x5A09,0x5A32,
+0x5A34,0x5A11,0x5A23,0x5A13,0x5A40,0x5A67,0x5A4A,0x5A55,
+0x5A3C,0x5A62,0x5A75,0x80EC,0x5AAA,0x5A9B,0x5A77,0x5A7A,
+0x5ABE,0x5AEB,0x5AB2,0x5AD2,0x5AD4,0x5AB8,0x5AE0,0x5AE3,
+0x5AF1,0x5AD6,0x5AE6,0x5AD8,0x5ADC,0x5B09,0x5B17,0x5B16,
+0x5B32,0x5B37,0x5B40,0x5C15,0x5C1C,0x5B5A,0x5B65,0x5B73,
+0x5B51,0x5B53,0x5B62,0x9A75,0x9A77,0x9A78,0x9A7A,0x9A7F,
+0x9A7D,0x9A80,0x9A81,0x9A85,0x9A88,0x9A8A,0x9A90,0x9A92,
+0x9A93,0x9A96,0x9A98,0x9A9B,0x9A9C,0x9A9D,0x9A9F,0x9AA0,
+0x9AA2,0x9AA3,0x9AA5,0x9AA7,0x7E9F,0x7EA1,0x7EA3,0x7EA5,
+0x7EA8,0x7EA9,0x7EAD,0x7EB0,0x7EBE,0x7EC0,0x7EC1,0x7EC2,
+0x7EC9,0x7ECB,0x7ECC,0x7ED0,0x7ED4,0x7ED7,0x7EDB,0x7EE0,
+0x7EE1,0x7EE8,0x7EEB,0x7EEE,0x7EEF,0x7EF1,0x7EF2,0x7F0D,
+0x7EF6,0x7EFA,0x7EFB,0x7EFE,0x7F01,0x7F02,0x7F03,0x7F07,
+0x7F08,0x7F0B,0x7F0C,0x7F0F,0x7F11,0x7F12,0x7F17,0x7F19,
+0x7F1C,0x7F1B,0x7F1F,0x7F21,0x7F22,0x7F23,0x7F24,0x7F25,
+0x7F26,0x7F27,0x7F2A,0x7F2B,0x7F2C,0x7F2D,0x7F2F,0x7F30,
+0x7F31,0x7F32,0x7F33,0x7F35,0x5E7A,0x757F,0x5DDB,0x753E,
+0x9095,0x738E,0x7391,0x73AE,0x73A2,0x739F,0x73CF,0x73C2,
+0x73D1,0x73B7,0x73B3,0x73C0,0x73C9,0x73C8,0x73E5,0x73D9,
+0x987C,0x740A,0x73E9,0x73E7,0x73DE,0x73BA,0x73F2,0x740F,
+0x742A,0x745B,0x7426,0x7425,0x7428,0x7430,0x742E,0x742C,
+0x741B,0x741A,0x7441,0x745C,0x7457,0x7455,0x7459,0x7477,
+0x746D,0x747E,0x749C,0x748E,0x7480,0x7481,0x7487,0x748B,
+0x749E,0x74A8,0x74A9,0x7490,0x74A7,0x74D2,0x74BA,0x97EA,
+0x97EB,0x97EC,0x674C,0x6753,0x675E,0x6748,0x6769,0x67A5,
+0x6787,0x676A,0x6773,0x6798,0x67A7,0x6775,0x67A8,0x679E,
+0x67AD,0x678B,0x6777,0x677C,0x67F0,0x6809,0x67D8,0x680A,
+0x67E9,0x67B0,0x680C,0x67D9,0x67B5,0x67DA,0x67B3,0x67DD,
+0x6800,0x67C3,0x67B8,0x67E2,0x680E,0x67C1,0x67FD,0x6832,
+0x6833,0x6860,0x6861,0x684E,0x6862,0x6844,0x6864,0x6883,
+0x681D,0x6855,0x6866,0x6841,0x6867,0x6840,0x683E,0x684A,
+0x6849,0x6829,0x68B5,0x688F,0x6874,0x6877,0x6893,0x686B,
+0x68C2,0x696E,0x68FC,0x691F,0x6920,0x68F9,0x6924,0x68F0,
+0x690B,0x6901,0x6957,0x68E3,0x6910,0x6971,0x6939,0x6960,
+0x6942,0x695D,0x6984,0x696B,0x6980,0x6998,0x6978,0x6934,
+0x69CC,0x6987,0x6988,0x69CE,0x6989,0x6966,0x6963,0x6979,
+0x699B,0x69A7,0x69BB,0x69AB,0x69AD,0x69D4,0x69B1,0x69C1,
+0x69CA,0x69DF,0x6995,0x69E0,0x698D,0x69FF,0x6A2F,0x69ED,
+0x6A17,0x6A18,0x6A65,0x69F2,0x6A44,0x6A3E,0x6AA0,0x6A50,
+0x6A5B,0x6A35,0x6A8E,0x6A79,0x6A3D,0x6A28,0x6A58,0x6A7C,
+0x6A91,0x6A90,0x6AA9,0x6A97,0x6AAB,0x7337,0x7352,0x6B81,
+0x6B82,0x6B87,0x6B84,0x6B92,0x6B93,0x6B8D,0x6B9A,0x6B9B,
+0x6BA1,0x6BAA,0x8F6B,0x8F6D,0x8F71,0x8F72,0x8F73,0x8F75,
+0x8F76,0x8F78,0x8F77,0x8F79,0x8F7A,0x8F7C,0x8F7E,0x8F81,
+0x8F82,0x8F84,0x8F87,0x8F8B,0x8F8D,0x8F8E,0x8F8F,0x8F98,
+0x8F9A,0x8ECE,0x620B,0x6217,0x621B,0x621F,0x6222,0x6221,
+0x6225,0x6224,0x622C,0x81E7,0x74EF,0x74F4,0x74FF,0x750F,
+0x7511,0x7513,0x6534,0x65EE,0x65EF,0x65F0,0x660A,0x6619,
+0x6772,0x6603,0x6615,0x6600,0x7085,0x66F7,0x661D,0x6634,
+0x6631,0x6636,0x6635,0x8006,0x665F,0x6654,0x6641,0x664F,
+0x6656,0x6661,0x6657,0x6677,0x6684,0x668C,0x66A7,0x669D,
+0x66BE,0x66DB,0x66DC,0x66E6,0x66E9,0x8D32,0x8D33,0x8D36,
+0x8D3B,0x8D3D,0x8D40,0x8D45,0x8D46,0x8D48,0x8D49,0x8D47,
+0x8D4D,0x8D55,0x8D59,0x89C7,0x89CA,0x89CB,0x89CC,0x89CE,
+0x89CF,0x89D0,0x89D1,0x726E,0x729F,0x725D,0x7266,0x726F,
+0x727E,0x727F,0x7284,0x728B,0x728D,0x728F,0x7292,0x6308,
+0x6332,0x63B0,0x643F,0x64D8,0x8004,0x6BEA,0x6BF3,0x6BFD,
+0x6BF5,0x6BF9,0x6C05,0x6C07,0x6C06,0x6C0D,0x6C15,0x6C18,
+0x6C19,0x6C1A,0x6C21,0x6C29,0x6C24,0x6C2A,0x6C32,0x6535,
+0x6555,0x656B,0x724D,0x7252,0x7256,0x7230,0x8662,0x5216,
+0x809F,0x809C,0x8093,0x80BC,0x670A,0x80BD,0x80B1,0x80AB,
+0x80AD,0x80B4,0x80B7,0x80E7,0x80E8,0x80E9,0x80EA,0x80DB,
+0x80C2,0x80C4,0x80D9,0x80CD,0x80D7,0x6710,0x80DD,0x80EB,
+0x80F1,0x80F4,0x80ED,0x810D,0x810E,0x80F2,0x80FC,0x6715,
+0x8112,0x8C5A,0x8136,0x811E,0x812C,0x8118,0x8132,0x8148,
+0x814C,0x8153,0x8174,0x8159,0x815A,0x8171,0x8160,0x8169,
+0x817C,0x817D,0x816D,0x8167,0x584D,0x5AB5,0x8188,0x8182,
+0x8191,0x6ED5,0x81A3,0x81AA,0x81CC,0x6726,0x81CA,0x81BB,
+0x81C1,0x81A6,0x6B24,0x6B37,0x6B39,0x6B43,0x6B46,0x6B59,
+0x98D1,0x98D2,0x98D3,0x98D5,0x98D9,0x98DA,0x6BB3,0x5F40,
+0x6BC2,0x89F3,0x6590,0x9F51,0x6593,0x65BC,0x65C6,0x65C4,
+0x65C3,0x65CC,0x65CE,0x65D2,0x65D6,0x7080,0x709C,0x7096,
+0x709D,0x70BB,0x70C0,0x70B7,0x70AB,0x70B1,0x70E8,0x70CA,
+0x7110,0x7113,0x7116,0x712F,0x7131,0x7173,0x715C,0x7168,
+0x7145,0x7172,0x714A,0x7178,0x717A,0x7198,0x71B3,0x71B5,
+0x71A8,0x71A0,0x71E0,0x71D4,0x71E7,0x71F9,0x721D,0x7228,
+0x706C,0x7118,0x7166,0x71B9,0x623E,0x623D,0x6243,0x6248,
+0x6249,0x793B,0x7940,0x7946,0x7949,0x795B,0x795C,0x7953,
+0x795A,0x7962,0x7957,0x7960,0x796F,0x7967,0x797A,0x7985,
+0x798A,0x799A,0x79A7,0x79B3,0x5FD1,0x5FD0,0x603C,0x605D,
+0x605A,0x6067,0x6041,0x6059,0x6063,0x60AB,0x6106,0x610D,
+0x615D,0x61A9,0x619D,0x61CB,0x61D1,0x6206,0x8080,0x807F,
+0x6C93,0x6CF6,0x6DFC,0x77F6,0x77F8,0x7800,0x7809,0x7817,
+0x7818,0x7811,0x65AB,0x782D,0x781C,0x781D,0x7839,0x783A,
+0x783B,0x781F,0x783C,0x7825,0x782C,0x7823,0x7829,0x784E,
+0x786D,0x7856,0x7857,0x7826,0x7850,0x7847,0x784C,0x786A,
+0x789B,0x7893,0x789A,0x7887,0x789C,0x78A1,0x78A3,0x78B2,
+0x78B9,0x78A5,0x78D4,0x78D9,0x78C9,0x78EC,0x78F2,0x7905,
+0x78F4,0x7913,0x7924,0x791E,0x7934,0x9F9B,0x9EF9,0x9EFB,
+0x9EFC,0x76F1,0x7704,0x770D,0x76F9,0x7707,0x7708,0x771A,
+0x7722,0x7719,0x772D,0x7726,0x7735,0x7738,0x7750,0x7751,
+0x7747,0x7743,0x775A,0x7768,0x7762,0x7765,0x777F,0x778D,
+0x777D,0x7780,0x778C,0x7791,0x779F,0x77A0,0x77B0,0x77B5,
+0x77BD,0x753A,0x7540,0x754E,0x754B,0x7548,0x755B,0x7572,
+0x7579,0x7583,0x7F58,0x7F61,0x7F5F,0x8A48,0x7F68,0x7F74,
+0x7F71,0x7F79,0x7F81,0x7F7E,0x76CD,0x76E5,0x8832,0x9485,
+0x9486,0x9487,0x948B,0x948A,0x948C,0x948D,0x948F,0x9490,
+0x9494,0x9497,0x9495,0x949A,0x949B,0x949C,0x94A3,0x94A4,
+0x94AB,0x94AA,0x94AD,0x94AC,0x94AF,0x94B0,0x94B2,0x94B4,
+0x94B6,0x94B7,0x94B8,0x94B9,0x94BA,0x94BC,0x94BD,0x94BF,
+0x94C4,0x94C8,0x94C9,0x94CA,0x94CB,0x94CC,0x94CD,0x94CE,
+0x94D0,0x94D1,0x94D2,0x94D5,0x94D6,0x94D7,0x94D9,0x94D8,
+0x94DB,0x94DE,0x94DF,0x94E0,0x94E2,0x94E4,0x94E5,0x94E7,
+0x94E8,0x94EA,0x94E9,0x94EB,0x94EE,0x94EF,0x94F3,0x94F4,
+0x94F5,0x94F7,0x94F9,0x94FC,0x94FD,0x94FF,0x9503,0x9502,
+0x9506,0x9507,0x9509,0x950A,0x950D,0x950E,0x950F,0x9512,
+0x9513,0x9514,0x9515,0x9516,0x9518,0x951B,0x951D,0x951E,
+0x951F,0x9522,0x952A,0x952B,0x9529,0x952C,0x9531,0x9532,
+0x9534,0x9536,0x9537,0x9538,0x953C,0x953E,0x953F,0x9542,
+0x9535,0x9544,0x9545,0x9546,0x9549,0x954C,0x954E,0x954F,
+0x9552,0x9553,0x9554,0x9556,0x9557,0x9558,0x9559,0x955B,
+0x955E,0x955F,0x955D,0x9561,0x9562,0x9564,0x9565,0x9566,
+0x9567,0x9568,0x9569,0x956A,0x956B,0x956C,0x956F,0x9571,
+0x9572,0x9573,0x953A,0x77E7,0x77EC,0x96C9,0x79D5,0x79ED,
+0x79E3,0x79EB,0x7A06,0x5D47,0x7A03,0x7A02,0x7A1E,0x7A14,
+0x7A39,0x7A37,0x7A51,0x9ECF,0x99A5,0x7A70,0x7688,0x768E,
+0x7693,0x7699,0x76A4,0x74DE,0x74E0,0x752C,0x9E20,0x9E22,
+0x9E28,0x9E29,0x9E2A,0x9E2B,0x9E2C,0x9E32,0x9E31,0x9E36,
+0x9E38,0x9E37,0x9E39,0x9E3A,0x9E3E,0x9E41,0x9E42,0x9E44,
+0x9E46,0x9E47,0x9E48,0x9E49,0x9E4B,0x9E4C,0x9E4E,0x9E51,
+0x9E55,0x9E57,0x9E5A,0x9E5B,0x9E5C,0x9E5E,0x9E63,0x9E66,
+0x9E67,0x9E68,0x9E69,0x9E6A,0x9E6B,0x9E6C,0x9E71,0x9E6D,
+0x9E73,0x7592,0x7594,0x7596,0x75A0,0x759D,0x75AC,0x75A3,
+0x75B3,0x75B4,0x75B8,0x75C4,0x75B1,0x75B0,0x75C3,0x75C2,
+0x75D6,0x75CD,0x75E3,0x75E8,0x75E6,0x75E4,0x75EB,0x75E7,
+0x7603,0x75F1,0x75FC,0x75FF,0x7610,0x7600,0x7605,0x760C,
+0x7617,0x760A,0x7625,0x7618,0x7615,0x7619,0x761B,0x763C,
+0x7622,0x7620,0x7640,0x762D,0x7630,0x763F,0x7635,0x7643,
+0x763E,0x7633,0x764D,0x765E,0x7654,0x765C,0x7656,0x766B,
+0x766F,0x7FCA,0x7AE6,0x7A78,0x7A79,0x7A80,0x7A86,0x7A88,
+0x7A95,0x7AA6,0x7AA0,0x7AAC,0x7AA8,0x7AAD,0x7AB3,0x8864,
+0x8869,0x8872,0x887D,0x887F,0x8882,0x88A2,0x88C6,0x88B7,
+0x88BC,0x88C9,0x88E2,0x88CE,0x88E3,0x88E5,0x88F1,0x891A,
+0x88FC,0x88E8,0x88FE,0x88F0,0x8921,0x8919,0x8913,0x891B,
+0x890A,0x8934,0x892B,0x8936,0x8941,0x8966,0x897B,0x758B,
+0x80E5,0x76B2,0x76B4,0x77DC,0x8012,0x8014,0x8016,0x801C,
+0x8020,0x8022,0x8025,0x8026,0x8027,0x8029,0x8028,0x8031,
+0x800B,0x8035,0x8043,0x8046,0x804D,0x8052,0x8069,0x8071,
+0x8983,0x9878,0x9880,0x9883,0x9889,0x988C,0x988D,0x988F,
+0x9894,0x989A,0x989B,0x989E,0x989F,0x98A1,0x98A2,0x98A5,
+0x98A6,0x864D,0x8654,0x866C,0x866E,0x867F,0x867A,0x867C,
+0x867B,0x86A8,0x868D,0x868B,0x86AC,0x869D,0x86A7,0x86A3,
+0x86AA,0x8693,0x86A9,0x86B6,0x86C4,0x86B5,0x86CE,0x86B0,
+0x86BA,0x86B1,0x86AF,0x86C9,0x86CF,0x86B4,0x86E9,0x86F1,
+0x86F2,0x86ED,0x86F3,0x86D0,0x8713,0x86DE,0x86F4,0x86DF,
+0x86D8,0x86D1,0x8703,0x8707,0x86F8,0x8708,0x870A,0x870D,
+0x8709,0x8723,0x873B,0x871E,0x8725,0x872E,0x871A,0x873E,
+0x8748,0x8734,0x8731,0x8729,0x8737,0x873F,0x8782,0x8722,
+0x877D,0x877E,0x877B,0x8760,0x8770,0x874C,0x876E,0x878B,
+0x8753,0x8763,0x877C,0x8764,0x8759,0x8765,0x8793,0x87AF,
+0x87A8,0x87D2,0x87C6,0x8788,0x8785,0x87AD,0x8797,0x8783,
+0x87AB,0x87E5,0x87AC,0x87B5,0x87B3,0x87CB,0x87D3,0x87BD,
+0x87D1,0x87C0,0x87CA,0x87DB,0x87EA,0x87E0,0x87EE,0x8816,
+0x8813,0x87FE,0x880A,0x881B,0x8821,0x8839,0x883C,0x7F36,
+0x7F42,0x7F44,0x7F45,0x8210,0x7AFA,0x7AFD,0x7B08,0x7B03,
+0x7B04,0x7B15,0x7B0A,0x7B2B,0x7B0F,0x7B47,0x7B38,0x7B2A,
+0x7B19,0x7B2E,0x7B31,0x7B20,0x7B25,0x7B24,0x7B33,0x7B3E,
+0x7B1E,0x7B58,0x7B5A,0x7B45,0x7B75,0x7B4C,0x7B5D,0x7B60,
+0x7B6E,0x7B7B,0x7B62,0x7B72,0x7B71,0x7B90,0x7BA6,0x7BA7,
+0x7BB8,0x7BAC,0x7B9D,0x7BA8,0x7B85,0x7BAA,0x7B9C,0x7BA2,
+0x7BAB,0x7BB4,0x7BD1,0x7BC1,0x7BCC,0x7BDD,0x7BDA,0x7BE5,
+0x7BE6,0x7BEA,0x7C0C,0x7BFE,0x7BFC,0x7C0F,0x7C16,0x7C0B,
+0x7C1F,0x7C2A,0x7C26,0x7C38,0x7C41,0x7C40,0x81FE,0x8201,
+0x8202,0x8204,0x81EC,0x8844,0x8221,0x8222,0x8223,0x822D,
+0x822F,0x8228,0x822B,0x8238,0x823B,0x8233,0x8234,0x823E,
+0x8244,0x8249,0x824B,0x824F,0x825A,0x825F,0x8268,0x887E,
+0x8885,0x8888,0x88D8,0x88DF,0x895E,0x7F9D,0x7F9F,0x7FA7,
+0x7FAF,0x7FB0,0x7FB2,0x7C7C,0x6549,0x7C91,0x7C9D,0x7C9C,
+0x7C9E,0x7CA2,0x7CB2,0x7CBC,0x7CBD,0x7CC1,0x7CC7,0x7CCC,
+0x7CCD,0x7CC8,0x7CC5,0x7CD7,0x7CE8,0x826E,0x66A8,0x7FBF,
+0x7FCE,0x7FD5,0x7FE5,0x7FE1,0x7FE6,0x7FE9,0x7FEE,0x7FF3,
+0x7CF8,0x7D77,0x7DA6,0x7DAE,0x7E47,0x7E9B,0x9EB8,0x9EB4,
+0x8D73,0x8D84,0x8D94,0x8D91,0x8DB1,0x8D67,0x8D6D,0x8C47,
+0x8C49,0x914A,0x9150,0x914E,0x914F,0x9164,0x9162,0x9161,
+0x9170,0x9169,0x916F,0x917D,0x917E,0x9172,0x9174,0x9179,
+0x918C,0x9185,0x9190,0x918D,0x9191,0x91A2,0x91A3,0x91AA,
+0x91AD,0x91AE,0x91AF,0x91B5,0x91B4,0x91BA,0x8C55,0x9E7E,
+0x8DB8,0x8DEB,0x8E05,0x8E59,0x8E69,0x8DB5,0x8DBF,0x8DBC,
+0x8DBA,0x8DC4,0x8DD6,0x8DD7,0x8DDA,0x8DDE,0x8DCE,0x8DCF,
+0x8DDB,0x8DC6,0x8DEC,0x8DF7,0x8DF8,0x8DE3,0x8DF9,0x8DFB,
+0x8DE4,0x8E09,0x8DFD,0x8E14,0x8E1D,0x8E1F,0x8E2C,0x8E2E,
+0x8E23,0x8E2F,0x8E3A,0x8E40,0x8E39,0x8E35,0x8E3D,0x8E31,
+0x8E49,0x8E41,0x8E42,0x8E51,0x8E52,0x8E4A,0x8E70,0x8E76,
+0x8E7C,0x8E6F,0x8E74,0x8E85,0x8E8F,0x8E94,0x8E90,0x8E9C,
+0x8E9E,0x8C78,0x8C82,0x8C8A,0x8C85,0x8C98,0x8C94,0x659B,
+0x89D6,0x89DE,0x89DA,0x89DC,0x89E5,0x89EB,0x89EF,0x8A3E,
+0x8B26,0x9753,0x96E9,0x96F3,0x96EF,0x9706,0x9701,0x9708,
+0x970F,0x970E,0x972A,0x972D,0x9730,0x973E,0x9F80,0x9F83,
+0x9F85,0x9F86,0x9F87,0x9F88,0x9F89,0x9F8A,0x9F8C,0x9EFE,
+0x9F0B,0x9F0D,0x96B9,0x96BC,0x96BD,0x96CE,0x96D2,0x77BF,
+0x96E0,0x928E,0x92AE,0x92C8,0x933E,0x936A,0x93CA,0x938F,
+0x943E,0x946B,0x9C7F,0x9C82,0x9C85,0x9C86,0x9C87,0x9C88,
+0x7A23,0x9C8B,0x9C8E,0x9C90,0x9C91,0x9C92,0x9C94,0x9C95,
+0x9C9A,0x9C9B,0x9C9E,0x9C9F,0x9CA0,0x9CA1,0x9CA2,0x9CA3,
+0x9CA5,0x9CA6,0x9CA7,0x9CA8,0x9CA9,0x9CAB,0x9CAD,0x9CAE,
+0x9CB0,0x9CB1,0x9CB2,0x9CB3,0x9CB4,0x9CB5,0x9CB6,0x9CB7,
+0x9CBA,0x9CBB,0x9CBC,0x9CBD,0x9CC4,0x9CC5,0x9CC6,0x9CC7,
+0x9CCA,0x9CCB,0x9CCC,0x9CCD,0x9CCE,0x9CCF,0x9CD0,0x9CD3,
+0x9CD4,0x9CD5,0x9CD7,0x9CD8,0x9CD9,0x9CDC,0x9CDD,0x9CDF,
+0x9CE2,0x977C,0x9785,0x9791,0x9792,0x9794,0x97AF,0x97AB,
+0x97A3,0x97B2,0x97B4,0x9AB1,0x9AB0,0x9AB7,0x9E58,0x9AB6,
+0x9ABA,0x9ABC,0x9AC1,0x9AC0,0x9AC5,0x9AC2,0x9ACB,0x9ACC,
+0x9AD1,0x9B45,0x9B43,0x9B47,0x9B49,0x9B48,0x9B4D,0x9B51,
+0x98E8,0x990D,0x992E,0x9955,0x9954,0x9ADF,0x9AE1,0x9AE6,
+0x9AEF,0x9AEB,0x9AFB,0x9AED,0x9AF9,0x9B08,0x9B0F,0x9B13,
+0x9B1F,0x9B23,0x9EBD,0x9EBE,0x7E3B,0x9E82,0x9E87,0x9E88,
+0x9E8B,0x9E92,0x93D6,0x9E9D,0x9E9F,0x9EDB,0x9EDC,0x9EDD,
+0x9EE0,0x9EDF,0x9EE2,0x9EE9,0x9EE7,0x9EE5,0x9EEA,0x9EEF,
+0x9F22,0x9F2C,0x9F2F,0x9F39,0x9F37,0x9F3D,0x9F3E,0x9F44
+};
+
+//#define B_DEBUG
+int ConverGB2Unicode(char *szFrom,wchar_t *wszTo)
+{
+ int i=0;
+ int j=0;
+ int k=0;
+ int size=strlen(szFrom);
+ unsigned char utemp=0;
+
+ for(i=0;i=0xA1A1 && j<=0xA9FE)
+ wszTo[k]=bGbUnicodedat1[(szFrom[i]-0xA1)*94+ (unsigned char)szFrom[i+1]-0xA1];
+ if (j>=0xB0A1 && j<=0xF7FE)
+ wszTo[k]=bGbUnicodedat2[(szFrom[i]-0xB0)*94+ (unsigned char)szFrom[i+1]-0xA1];
+ i++;
+ k++;
+ }
+ }
+ wszTo[k]=0;
+ return k;
+}
+
diff --git a/source/GB2Unicode.h b/source/GB2Unicode.h
new file mode 100644
index 00000000..3ca3dfa8
--- /dev/null
+++ b/source/GB2Unicode.h
@@ -0,0 +1,24 @@
+//GB2Unicode.h
+
+
+#ifndef GB2UNICODE_H_
+#define GB2UNICODE_H_
+
+#include
+#include
+#include
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int ConverGB2Unicode(char *szFrom,wchar_t *wszTo);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif //GB2UNICODE_H_
+
diff --git a/source/fatmounter.c b/source/fatmounter.c
index a6c17dc1..9a8896b1 100644
--- a/source/fatmounter.c
+++ b/source/fatmounter.c
@@ -40,7 +40,7 @@ int SDCard_Init()
if (!isSdInserted()){
return -1;
}
- if (fatMount("SD", &__io_wiisd, 0, CACHE)) {
+ if (fatMountSimple("SD", &__io_wiisd)) {
return 1;
}
return -1;
diff --git a/source/filelist.h b/source/filelist.h
index dc429eb8..d3d60b45 100644
--- a/source/filelist.h
+++ b/source/filelist.h
@@ -26,6 +26,12 @@ extern const u32 bg_music_ogg_size;
extern const u8 credits_music_ogg[];
extern const u32 credits_music_ogg_size;
+extern const u8 menuin_ogg[];
+extern const u32 menuin_ogg_size;
+
+extern const u8 menuout_ogg[];
+extern const u32 menuout_ogg_size;
+
extern const u8 tab_bg1_png[];
extern const u32 tab_bg1_png_size;
@@ -134,15 +140,9 @@ extern const u32 keyboard_key_png_size;
extern const u8 keyboard_key_over_png[];
extern const u32 keyboard_key_over_png_size;
-extern const u8 keyboard_mediumkey_png[];
-extern const u32 keyboard_mediumkey_png_size;
-
extern const u8 keyboard_mediumkey_over_png[];
extern const u32 keyboard_mediumkey_over_png_size;
-extern const u8 keyboard_largekey_png[];
-extern const u32 keyboard_largekey_png_size;
-
extern const u8 keyboard_largekey_over_png[];
extern const u32 keyboard_largekey_over_png_size;
diff --git a/source/images/keyboard_largekey.png b/source/images/keyboard_largekey.png
deleted file mode 100644
index c61c8a61..00000000
Binary files a/source/images/keyboard_largekey.png and /dev/null differ
diff --git a/source/images/keyboard_mediumkey.png b/source/images/keyboard_mediumkey.png
deleted file mode 100644
index 4703e936..00000000
Binary files a/source/images/keyboard_mediumkey.png and /dev/null differ
diff --git a/source/libwbfs/libwbfs.c b/source/libwbfs/libwbfs.c
index 472d34f1..43e9231e 100644
--- a/source/libwbfs/libwbfs.c
+++ b/source/libwbfs/libwbfs.c
@@ -512,7 +512,7 @@ u32 wbfs_ren_disc(wbfs_t*p, u8* discid, u8* newname)
return 1;
memset(d->header->disc_header_copy+0x20, 0, 0x40);
- strncpy(d->header->disc_header_copy+0x20, newname, 0x39);
+ strncpy((char *) d->header->disc_header_copy+0x20, (char *) newname, 0x39);
p->write_hdsector(p->callback_data,p->part_lba+1+d->i*disc_info_sz_lba,disc_info_sz_lba,d->header);
wbfs_close_disc(d);
diff --git a/source/libwiigui/gui_button.cpp b/source/libwiigui/gui_button.cpp
index c1d408e8..320dd683 100644
--- a/source/libwiigui/gui_button.cpp
+++ b/source/libwiigui/gui_button.cpp
@@ -171,7 +171,7 @@ void GuiButton::SetToolTip(GuiElement* tt, int x, int y, int h_align, int v_alig
toolTip->SetParent(this);
toolTip->SetAlignment(h_align, v_align);
toolTip->SetPosition(x,y);
-
+
}
}
/**
@@ -216,7 +216,7 @@ void GuiButton::DrawTooltip()
}
if(time1 != 0) // timer läuft
time(&time1);
-
+
if(time1 == 0 || difftime(time1, time2) >= 2)
{
if(time1 != 0) // timer gerade abgelaufen
@@ -331,11 +331,15 @@ void GuiButton::Update(GuiTrigger * t)
else if(trigger[i]->type == TRIGGER_BUTTON_ONLY)
{
this->SetState(STATE_CLICKED, t->chan);
+ if(soundClick)
+ soundClick->Play();
}
else if(trigger[i]->type == TRIGGER_BUTTON_ONLY_IN_FOCUS &&
parentElement->IsFocused())
{
this->SetState(STATE_CLICKED, t->chan);
+ if(soundClick)
+ soundClick->Play();
}
}
}
diff --git a/source/libwiigui/gui_keyboard.cpp b/source/libwiigui/gui_keyboard.cpp
index 237eea29..1a3c1fd6 100644
--- a/source/libwiigui/gui_keyboard.cpp
+++ b/source/libwiigui/gui_keyboard.cpp
@@ -92,7 +92,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
{'\0','\0'}
}
};
-
+
memcpy(keys, thekeys, sizeof(thekeys));}
//DVORAK//
if (mode == 1){
@@ -111,7 +111,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
{'\0','\0','\0'}
},
{
- {'\'','"','\0'},
+ {'\'','"','\0'},
{',','<','\0'},
{'.','>','\0'},
{'p','P','\0'},
@@ -169,7 +169,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
{'ß','?','\'','Ý'}
},
{
- {'q','Q','@','Á'},
+ {'q','Q','@','Á'},
{'w','W','\0','á'},
{'e','E','€','É'},
{'r','R','\0','é'},
@@ -223,9 +223,9 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
key = new GuiImageData(keyboard_key_png);
keyOver = new GuiImageData(keyboard_key_over_png);
- keyMedium = new GuiImageData(keyboard_mediumkey_png);
+ keyMedium = new GuiImageData(keyboard_mediumkey_over_png);
keyMediumOver = new GuiImageData(keyboard_mediumkey_over_png);
- keyLarge = new GuiImageData(keyboard_largekey_png);
+ keyLarge = new GuiImageData(keyboard_largekey_over_png);
keyLargeOver = new GuiImageData(keyboard_largekey_over_png);
keySoundOver = new GuiSound(button_over_pcm, button_over_pcm_size, SOUND_PCM, vol);
@@ -235,6 +235,11 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
trigB = new GuiTrigger;
trigB->SetButtonOnlyTrigger(-1, WPAD_BUTTON_B | WPAD_CLASSIC_BUTTON_B, PAD_BUTTON_B);
+ int eurocheck = 0;
+ if(lang == 2) {
+ eurocheck = -20;
+ }
+
keyBackImg = new GuiImage(keyMedium);
keyBackOverImg = new GuiImage(keyMediumOver);
keyBackText = new GuiText("Back", 20, (GXColor){0, 0, 0, 0xff});
@@ -247,12 +252,12 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keyBack->SetTrigger(trigA);
keyBack->SetTrigger(trigB);
if (mode == 2){
- keyBack->SetPosition(11*42+40, 0*42+120);}
+ keyBack->SetPosition(11*42+40+eurocheck, 0*42+120);}
else{
- keyBack->SetPosition(10*42+40, 0*42+120);}//(10*42+40, 0*42+80);
+ keyBack->SetPosition(10*42+40+eurocheck, 0*42+120);}//(10*42+40, 0*42+80);
keyBack->SetEffectGrow();
this->Append(keyBack);
-
+
keyClearImg = new GuiImage(keyMedium);
keyClearOverImg = new GuiImage(keyMediumOver);
keyClearText = new GuiText("clear", 20, (GXColor){0, 0, 0, 0xff});
@@ -263,10 +268,10 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keyClear->SetSoundOver(keySoundOver);
keyClear->SetSoundClick(keySoundClick);
keyClear->SetTrigger(trigA);
- keyClear->SetPosition(10*42+40, 4*42+120);//(10*42+40, 0*42+80);
+ keyClear->SetPosition((10*42+40)+eurocheck, 4*42+120);//(10*42+40, 0*42+80);
keyClear->SetEffectGrow();
this->Append(keyClear);
-
+
keyAltImg = new GuiImage(keyMedium);
keyAltOverImg = new GuiImage(keyMediumOver);
keyAltText = new GuiText("Alt Gr", 20, (GXColor){0, 0, 0, 0xff});
@@ -277,10 +282,10 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keyAlt->SetSoundOver(keySoundOver);
keyAlt->SetSoundClick(keySoundClick);
keyAlt->SetTrigger(trigA);
- keyAlt->SetPosition(84, 4*42+120);//(10*42+40, 4*42+120);
+ keyAlt->SetPosition(84+eurocheck, 4*42+120);//(10*42+40, 4*42+120);
keyAlt->SetEffectGrow();
if (mode == 2){this->Append(keyAlt);}
-
+
keyAlt2Img = new GuiImage(keyMedium);
keyAlt2OverImg = new GuiImage(keyMediumOver);
keyAlt2Text = new GuiText("Accent", 20, (GXColor){0, 0, 0, 0xff});
@@ -291,7 +296,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keyAlt2->SetSoundOver(keySoundOver);
keyAlt2->SetSoundClick(keySoundClick);
keyAlt2->SetTrigger(trigA);
- keyAlt2->SetPosition(8*42+40, 4*42+120);//(10*42+40, 4*42+120);
+ keyAlt2->SetPosition((8*42+40)+eurocheck, 4*42+120);//(10*42+40, 4*42+120);
keyAlt2->SetEffectGrow();
if (mode == 2){this->Append(keyAlt2);}
@@ -305,7 +310,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keyCaps->SetSoundOver(keySoundOver);
keyCaps->SetSoundClick(keySoundClick);
keyCaps->SetTrigger(trigA);
- keyCaps->SetPosition(0, 2*42+120);//(0, 2*42+80);
+ keyCaps->SetPosition(0+eurocheck, 2*42+120);//(0, 2*42+80);
keyCaps->SetEffectGrow();
this->Append(keyCaps);
@@ -319,7 +324,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keyShift->SetSoundOver(keySoundOver);
keyShift->SetSoundClick(keySoundClick);
keyShift->SetTrigger(trigA);
- keyShift->SetPosition(21, 3*42+120);//(21, 3*42+80);
+ keyShift->SetPosition(21+eurocheck, 3*42+120);//(21, 3*42+80);
keyShift->SetEffectGrow();
this->Append(keyShift);
@@ -331,7 +336,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keySpace->SetSoundOver(keySoundOver);
keySpace->SetSoundClick(keySoundClick);
keySpace->SetTrigger(trigA);
- keySpace->SetPosition(0, 4*42+120);//(0, 4*42+80);
+ keySpace->SetPosition(0+eurocheck, 4*42+120);//(0, 4*42+80);
keySpace->SetAlignment(ALIGN_CENTRE, ALIGN_TOP);
keySpace->SetEffectGrow();
this->Append(keySpace);
@@ -354,7 +359,7 @@ GuiKeyboard::GuiKeyboard(char * t, u32 max, int min, int lang)
keyBtn[i][j]->SetSoundClick(keySoundClick);
keyBtn[i][j]->SetTrigger(trigA);
keyBtn[i][j]->SetLabel(keyTxt[i][j]);
- keyBtn[i][j]->SetPosition(j*42+21*i+40, i*42+120);//SetPosition(j*42+21*i+40, i*42+80);
+ keyBtn[i][j]->SetPosition((j*42+21*i+40)+eurocheck, i*42+120);//SetPosition(j*42+21*i+40, i*42+80);
keyBtn[i][j]->SetEffectGrow();
this->Append(keyBtn[i][j]);
}
@@ -436,14 +441,14 @@ void GuiKeyboard::Update(GuiTrigger * t)
}
keySpace->SetState(STATE_SELECTED, t->chan);
}
- else if(keyBack->GetState() == STATE_CLICKED)
+ else if(keyBack->GetState() == STATE_CLICKED)
{
if (strlen(kbtextstr) >(m)){
kbtextstr[strlen(kbtextstr)-1] = 0;
kbText->SetText(kbtextstr);}
keyBack->SetState(STATE_SELECTED, t->chan);
}
- else if(keyClear->GetState() == STATE_CLICKED)
+ else if(keyClear->GetState() == STATE_CLICKED)
{ clearMore:
if (strlen(kbtextstr) >(m)){
kbtextstr[strlen(kbtextstr)-1] = 0;
@@ -534,12 +539,12 @@ void GuiKeyboard::Update(GuiTrigger * t)
}
}
char* pch;
-
+
pch=strrchr(kbtextstr,'_');
-
+
if (pch!=NULL){kbText->SetPosition(0, 68);}
else {kbText->SetPosition(0, 53);}
-
+
this->ToggleFocus(t);
if(focus) // only send actions to this window if it's in focus
diff --git a/source/main.cpp b/source/main.cpp
index cb41e829..718129f5 100644
--- a/source/main.cpp
+++ b/source/main.cpp
@@ -98,7 +98,7 @@ DefaultSettings()
Settings.cios = ios249;
Settings.xflip = no;
Settings.qboot = no;
- Settings.unicodefix = no;
+ Settings.unicodefix = 0;
CFG_LoadGlobal();
}
diff --git a/source/menu.cpp b/source/menu.cpp
index 96e98ec0..7ca90793 100644
--- a/source/menu.cpp
+++ b/source/menu.cpp
@@ -202,7 +202,7 @@ static void WindowCredits(void * ptr)
starImg.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
starImg.SetPosition(500,335);
- int numEntries = 25;
+ int numEntries = 24;
GuiText * txt[numEntries];
txt[i] = new GuiText(LANGUAGE.Credits, 26, (GXColor){255, 255, 255, 255});
@@ -659,20 +659,31 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
const char *btn2Label, const char *btn3Label,
const char *btn4Label)
{
- int choice = -1;
+ GuiSound * homein = NULL;
+ homein = new GuiSound(menuin_ogg, menuin_ogg_size, SOUND_OGG, vol);
+ homein->SetVolume(vol);
+ homein->SetLoop(0);
+ homein->Play();
+
+ GuiSound * homeout = NULL;
+ homeout = new GuiSound(menuout_ogg, menuout_ogg_size, SOUND_OGG, vol);
+ homeout->SetVolume(vol);
+ homeout->SetLoop(0);
+
+ int choice = -1;
char imgPath[100];
GuiWindow promptWindow(640,480);
- promptWindow.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
+ promptWindow.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
promptWindow.SetPosition(0, 0);
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM, vol);
GuiSound btnClick(button_click2_pcm, button_click2_pcm_size, SOUND_PCM, vol);
-
+
GuiImageData top(exit_top_png);
GuiImageData topOver(exit_top_over_png);
GuiImageData bottom(exit_bottom_png);
GuiImageData bottomOver(exit_bottom_over_png);
GuiImageData button(exit_button_png);
-
+
snprintf(imgPath, sizeof(imgPath), "%sbattery_white.png", CFG.theme_path);
GuiImageData battery(imgPath, battery_white_png);
snprintf(imgPath, sizeof(imgPath), "%sbattery_red.png", CFG.theme_path);
@@ -681,7 +692,7 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
GuiImageData batteryBar(imgPath, battery_bar_white_png);
#ifdef HW_RVL
- int i = 0, level;
+ int i = 0, ret = 0, level;
char txt[3];
GuiText * batteryTxt[4];
GuiImage * batteryImg[4];
@@ -698,15 +709,12 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
batteryTxt[i] = new GuiText(txt, 22, (GXColor){255,255,255, 255});
batteryTxt[i]->SetAlignment(ALIGN_LEFT, ALIGN_MIDDLE);
- //batteryTxt[i]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
batteryImg[i] = new GuiImage(&battery);
batteryImg[i]->SetAlignment(ALIGN_LEFT, ALIGN_MIDDLE);
- //batteryImg[i]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
batteryImg[i]->SetPosition(36, 0);
batteryImg[i]->SetTile(0);
batteryBarImg[i] = new GuiImage(&batteryBar);
batteryBarImg[i]->SetAlignment(ALIGN_LEFT, ALIGN_MIDDLE);
- //batteryBarImg[i]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
batteryBarImg[i]->SetPosition(33, 0);
batteryBtn[i] = new GuiButton(40, 20);
@@ -719,13 +727,11 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
batteryBtn[i]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_IN, 50);
}
-
batteryBtn[0]->SetPosition(180,150);
batteryBtn[1]->SetPosition(284, 150);
batteryBtn[2]->SetPosition(388, 150);
batteryBtn[3]->SetPosition(494, 150);
- #endif
-
+ #endif
GuiTrigger trigA;
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
@@ -734,20 +740,14 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
GuiTrigger trigHome;
trigHome.SetButtonOnlyTrigger(-1, WPAD_BUTTON_HOME | WPAD_CLASSIC_BUTTON_HOME, 0);
-
-
GuiText titleTxt("HOME Menu", 36, (GXColor){255, 255, 255, 255});
titleTxt.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
titleTxt.SetPosition(50,40);
- /*GuiText msgTxt(msg, 22, (GXColor){THEME.prompttxt_r, THEME.prompttxt_g, THEME.prompttxt_b, 255}); //{0, 0, 0, 255});
- msgTxt.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
- msgTxt.SetPosition(0,-40);
- msgTxt.SetMaxWidth(430);*/
+ titleTxt.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_IN, 50);
- GuiText btn1Txt("Close", 22, (GXColor){0, 0, 0, 255});
- btn1Txt.SetAlignment(ALIGN_TOP, ALIGN_RIGHT);
- btn1Txt.SetPosition(-50, 50);
-
+ GuiText btn1Txt("Close", 28, (GXColor){0, 0, 0, 255});
+ btn1Txt.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
+ btn1Txt.SetPosition(214,17);
GuiImage btn1Img(&top);
GuiImage btn1OverImg(&topOver);
GuiButton btn1(top.GetWidth(), top.GetHeight());
@@ -755,12 +755,7 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
btn1.SetImage(&btn1Img);
btn1.SetImageOver(&btn1OverImg);
btn1.SetSoundOver(&btnSoundOver);
- btn1.SetSoundClick(&btnClick);
btn1.SetTrigger(&trigA);
- btn1.SetTrigger(&trigB);
- btn1.SetTrigger(&trigHome);
- //btn1.SetState(STATE_SELECTED);
- //btn1.SetEffectGrow();
btn1.SetAlignment(ALIGN_LEFT, ALIGN_TOP);
btn1.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_IN, 50);
btn1.SetPosition(0, 0);
@@ -778,6 +773,8 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
btn2.SetEffectGrow();
btn2.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
btn2.SetPosition(-150, 0);
+ btn2.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_IN, 50);
+ btn2.SetRumble(false);
GuiText btn3Txt(btn2Label, 38, (GXColor){0, 0, 0, 255});
GuiImage btn3Img(&button);
@@ -792,43 +789,37 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
btn3.SetEffectGrow();
btn3.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
btn3.SetPosition(150, 0);
+ btn3.SetEffect(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_IN, 50);
+ btn3.SetRumble(false);
- //GuiText btn4Txt("EAT A DICK", 28, (GXColor){255, 255, 255, 255});
- btn1Txt.SetAlignment(ALIGN_BOTTOM, ALIGN_CENTRE);
- btn1Txt.SetPosition(0, -50);
GuiImage btn4Img(&bottom);
GuiImage btn4OverImg(&bottomOver);
GuiButton btn4(bottom.GetWidth(), bottom.GetHeight());
- //btn4.SetLabel(&btn4Txt);
btn4.SetImage(&btn4Img);
btn4.SetImageOver(&btn4OverImg);
btn4.SetSoundOver(&btnSoundOver);
- btn4.SetSoundClick(&btnClick);
btn4.SetTrigger(&trigA);
- //btn4.SetEffectGrow();
+ btn4.SetTrigger(&trigB);
+ btn4.SetTrigger(&trigHome);
btn4.SetAlignment(ALIGN_LEFT, ALIGN_BOTTOM);
- btn4.SetPosition(0,0);//(0, -120);
+ btn4.SetPosition(0,0);
btn4.SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_IN, 50);
btn2Txt.SetFontSize(22);
btn3Txt.SetFontSize(22);
-
- promptWindow.Append(&btn1);
promptWindow.Append(&btn2);
promptWindow.Append(&btn3);
promptWindow.Append(&btn4);
+ promptWindow.Append(&btn1);
promptWindow.Append(&titleTxt);
+
#ifdef HW_RVL
promptWindow.Append(batteryBtn[0]);
- promptWindow.Append(batteryBtn[1]);
- promptWindow.Append(batteryBtn[2]);
- promptWindow.Append(batteryBtn[3]);
- batteryBtn[0]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
- batteryBtn[1]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
- batteryBtn[2]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
- batteryBtn[3]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
- #endif
+ promptWindow.Append(batteryBtn[1]);
+ promptWindow.Append(batteryBtn[2]);
+ promptWindow.Append(batteryBtn[3]);
+ #endif
HaltGui();
mainWindow->SetState(STATE_DISABLED);
@@ -839,7 +830,7 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
while(choice == -1)
{
VIDEO_WaitVSync();
-
+
#ifdef HW_RVL
for(i=0; i < 4; i++)
{
@@ -864,8 +855,8 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
}
}
#endif
-
-
+
+
if(shutdown == 1)
{
wiilight(0);
@@ -875,28 +866,64 @@ WindowExitPrompt(const char *title, const char *msg, const char *btn1Label,
Sys_Reboot();
if(btn1.GetState() == STATE_CLICKED) {
choice = 1;
+ btn1.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
+ btn4.SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
+ btn2.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_OUT, 50);
+ btn3.SetEffect(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_OUT, 50);
+ titleTxt.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
+ #ifdef HW_RVL
+ for (int i = 0; i < 4; i++)
+ batteryBtn[i]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
+ #endif
}
else if(btn2.GetState() == STATE_CLICKED) {
- btn1.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
- btn2.SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
- while(btn2.GetEffect() > 0) usleep(50);
+ ret = WindowPrompt(LANGUAGE.Areyousure, 0, LANGUAGE.Yes, LANGUAGE.No, 0, 0);
+ if (ret == 1) {
choice = 2;
+ }
+ HaltGui();
+ mainWindow->SetState(STATE_DISABLED);
+ promptWindow.SetState(STATE_DEFAULT);
+ mainWindow->ChangeFocus(&promptWindow);
+ ResumeGui();
+ btn2.ResetState();
}
else if(btn3.GetState() == STATE_CLICKED) {
- btn1.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
- btn2.SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
- while(btn2.GetEffect() > 0) usleep(50);
+ ret = WindowPrompt(LANGUAGE.Areyousure, 0, LANGUAGE.Yes, LANGUAGE.No, 0, 0);
+ if (ret == 1) {
choice = 3;
+ }
+ HaltGui();
+ mainWindow->SetState(STATE_DISABLED);
+ promptWindow.SetState(STATE_DEFAULT);
+ mainWindow->ChangeFocus(&promptWindow);
+ ResumeGui();
+ btn3.ResetState();
}
else if(btn4.GetState() == STATE_CLICKED) {
+ btn1.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
+ btn4.SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
+ btn2.SetEffect(EFFECT_SLIDE_LEFT | EFFECT_SLIDE_OUT, 50);
+ btn3.SetEffect(EFFECT_SLIDE_RIGHT | EFFECT_SLIDE_OUT, 50);
+ titleTxt.SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_OUT, 50);
+ #ifdef HW_RVL
+ for (int i = 0; i < 4; i++)
+ batteryBtn[i]->SetEffect(EFFECT_SLIDE_BOTTOM | EFFECT_SLIDE_OUT, 50);
+ #endif
choice = 0;
}
}
-
+ homeout->Play();
+ while(btn1.GetEffect() > 0) usleep(50);
while(promptWindow.GetEffect() > 0) usleep(50);
HaltGui();
+ homein->Stop();
+ delete homein;
mainWindow->Remove(&promptWindow);
mainWindow->SetState(STATE_DEFAULT);
+ while(homeout->IsPlaying() > 0) usleep(50);
+ homeout->Stop();
+ delete homeout;
ResumeGui();
return choice;
}
@@ -921,12 +948,12 @@ int GameWindowPrompt()
promptWindow.SetPosition(0, -10);
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM, vol);
GuiSound btnClick(button_click2_pcm, button_click2_pcm_size, SOUND_PCM, vol);
-
+
char imgPath[100];
snprintf(imgPath, sizeof(imgPath), "%sbutton_dialogue_box.png", CFG.theme_path);
GuiImageData btnOutline(imgPath, button_dialogue_box_png);
-
-
+
+
GuiImageData imgLeft(startgame_arrow_left_png);
GuiImageData imgRight(startgame_arrow_right_png);
@@ -1290,7 +1317,7 @@ DiscWait(const char *title, const char *msg, const char *btn1Label, const char *
promptWindow.SetPosition(0, -10);
GuiSound btnSoundOver(button_over_pcm, button_over_pcm_size, SOUND_PCM, vol);
GuiSound btnClick(button_click2_pcm, button_click2_pcm_size, SOUND_PCM, vol);
-
+
char imgPath[100];
snprintf(imgPath, sizeof(imgPath), "%sbutton_dialogue_box.png", CFG.theme_path);
GuiImageData btnOutline(imgPath, button_dialogue_box_png);
@@ -1442,14 +1469,14 @@ FormatingPartition(const char *title, partitionEntry *entry)
GuiWindow promptWindow(472,320);
promptWindow.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE);
promptWindow.SetPosition(0, -10);
-
+
char imgPath[100];
snprintf(imgPath, sizeof(imgPath), "%sbutton_dialogue_box.png", CFG.theme_path);
GuiImageData btnOutline(imgPath, button_dialogue_box_png);
snprintf(imgPath, sizeof(imgPath), "%sdialogue_box.png", CFG.theme_path);
GuiImageData dialogBox(imgPath, dialogue_box_png);
-
+
GuiTrigger trigA;
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
@@ -2046,7 +2073,7 @@ UpdateGUI (void *arg)
else
{
mainWindow->Draw();
- if (Settings.tooltips == TooltipsOn && THEME.showToolTip != 0)
+ if (Settings.tooltips == TooltipsOn && THEME.showToolTip != 0 && mainWindow->GetState() != STATE_DISABLED)
mainWindow->DrawTooltip();
#ifdef HW_RVL
@@ -2212,7 +2239,7 @@ static int OnScreenKeyboard(char * var, u32 maxlen, int min)
char imgPath[50];
snprintf(imgPath, sizeof(imgPath), "%sbutton_dialogue_box.png", CFG.theme_path);
GuiImageData btnOutline(imgPath, button_dialogue_box_png);
-
+
GuiTrigger trigA;
trigA.SetSimpleTrigger(-1, WPAD_BUTTON_A | WPAD_CLASSIC_BUTTON_A, PAD_BUTTON_A);
GuiTrigger trigB;
@@ -2926,8 +2953,10 @@ static int MenuDiscList()
}
else if(homeBtn.GetState() == STATE_CLICKED)
{
-
+ bgMusic->Stop();
choice = WindowExitPrompt(LANGUAGE.ExitUSBISOLoader,0, LANGUAGE.BacktoLoader,LANGUAGE.WiiMenu,LANGUAGE.Back,0);
+ bgMusic->SetLoop(1);
+ bgMusic->Play();
if(choice == 3)
{
SYS_ResetSystem(SYS_RETURNTOMENU, 0, 0); // Back to System Menu
@@ -3667,7 +3696,7 @@ static int MenuSettings()
char imgPath[100];
-
+
snprintf(imgPath, sizeof(imgPath), "%sbutton_dialogue_box.png", CFG.theme_path);
GuiImageData btnOutline(imgPath, button_dialogue_box_png);
snprintf(imgPath, sizeof(imgPath), "%ssettings_background.png", CFG.theme_path);
@@ -4316,7 +4345,7 @@ static int MenuSettings()
if ( Settings.keyset > 2 )
Settings.keyset = 0;
- if ( Settings.unicodefix > 1 )
+ if ( Settings.unicodefix > 2 )
Settings.unicodefix = 0;
if (strlen(CFG.titlestxt_path) < (9 + 3)) {
@@ -4342,8 +4371,9 @@ static int MenuSettings()
else if (Settings.keyset == dvorak) sprintf (options2.value[2],"DVORAK");
else if (Settings.keyset == euro) sprintf (options2.value[2],"QWERTZ");
- if (Settings.unicodefix == off) sprintf (options2.value[3],"%s",LANGUAGE.OFF);
- else if (Settings.unicodefix == on) sprintf (options2.value[3],"%s",LANGUAGE.ON);
+ if (Settings.unicodefix == 0) sprintf (options2.value[3],"%s",LANGUAGE.OFF);
+ else if (Settings.unicodefix == 1) sprintf (options2.value[3],"%s",LANGUAGE.TChinese);
+ else if (Settings.unicodefix == 2) sprintf (options2.value[3],"%s",LANGUAGE.SChinese);
sprintf(options2.value[4], " ");
sprintf(options2.value[5], " ");
diff --git a/source/sounds/menuin.ogg b/source/sounds/menuin.ogg
new file mode 100644
index 00000000..9d7034fb
Binary files /dev/null and b/source/sounds/menuin.ogg differ
diff --git a/source/sounds/menuout.ogg b/source/sounds/menuout.ogg
new file mode 100644
index 00000000..e66f574c
Binary files /dev/null and b/source/sounds/menuout.ogg differ