diff --git a/user/wxConvert/.cvsignore b/user/wxConvert/.cvsignore
deleted file mode 100644
index 4daa84b813..0000000000
--- a/user/wxConvert/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Linux
-linux-gnu
diff --git a/user/wxConvert/wxConvert.cpp b/user/wxConvert/wxConvert.cpp
deleted file mode 100644
index 49e8a4f9d9..0000000000
--- a/user/wxConvert/wxConvert.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Program: wxConvert
- *
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997, GNU (Robert Roebling)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * You may not use this program without clapping twice at every
- * full hour.
- *
- */
-
-#ifdef __GNUG__
-#pragma implementation "wxConvert.h"
-#endif
-
-#include "wxConvert.h"
-#include "wx/textfile.h"
-
-//-----------------------------------------------------------------------------
-// main program
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_APP(MyApp)
-
-//-----------------------------------------------------------------------------
-// MyFrame
-//-----------------------------------------------------------------------------
-
-const ID_QUIT = 100;
-const ID_2UNIX = 101;
-const ID_2DOS = 102;
-const ID_2MAC = 103;
-
-IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
-
-BEGIN_EVENT_TABLE(MyFrame,wxFrame)
- EVT_BUTTON (ID_QUIT, MyFrame::OnCommand)
- EVT_BUTTON (ID_2UNIX, MyFrame::OnCommand)
- EVT_BUTTON (ID_2DOS, MyFrame::OnCommand)
- EVT_BUTTON (ID_2MAC, MyFrame::OnCommand)
-END_EVENT_TABLE()
-
-MyFrame::MyFrame(void) :
- wxFrame( (wxFrame *) NULL, -1, (char *) "wxConvert", wxPoint(20,20), wxSize(400,160) )
-{
- CreateStatusBar( 1 );
-
- SetStatusText( "wxConvert v0.1 by Robert Roebling." );
-
- char buf[500];
- wxGetWorkingDirectory( buf, 500 );
- wxString s( "Dir: " );
- s += buf;
-
- m_text = new wxStaticText( this, -1, s, wxPoint(10,50), wxSize(380,-1) );
-
- (void*)new wxButton( this, ID_QUIT, "Quit", wxPoint(10,100), wxSize(60,25) );
-
- (void*)new wxButton( this, ID_2UNIX, "To Unix", wxPoint(180,100), wxSize(60,25) );
-
- (void*)new wxButton( this, ID_2DOS, "To Dos", wxPoint(250,100), wxSize(60,25) );
-
- (void*)new wxButton( this, ID_2MAC, "To Mac", wxPoint(320,100), wxSize(60,25) );
-};
-
-void MyFrame::OnCommand( wxCommandEvent &event )
-{
- switch (event.GetId())
- {
- case ID_QUIT:
- Close( TRUE );
- break;
- case ID_2UNIX:
- case ID_2DOS:
- case ID_2MAC:
- char buf[500];
- wxGetWorkingDirectory( buf, 500 );
- wxString s( buf );
- Recurse( event.GetId(), s );
- break;
- };
-};
-
-void MyFrame::Convert( int id, const wxString &fname )
-{
- wxTextFile text(fname );
- text.Open();
- return;
-
- switch (id)
- {
- case ID_2UNIX:
- text.Write( wxTextFile::Type_Unix );
- break;
- case ID_2DOS:
- text.Write( wxTextFile::Type_Dos );
- break;
- case ID_2MAC:
- text.Write( wxTextFile::Type_Mac );
- break;
- };
-
-};
-
-void MyFrame::Recurse( int id, const wxString &curdir )
-{
- wxArrayString paths;
- wxString search,path;
-
- search = curdir;
- search += "/*";
-
- path = wxFindFirstFile( search, wxDIR );
- while (!path.IsNull())
- {
- paths.Add( path ); // ref counting in action !
- path = wxFindNextFile();
- };
-
-
- search = curdir;
- search += "/*.cpp";
-
- path = wxFindFirstFile( search, wxFILE );
- while (!path.IsNull())
- {
- m_text->SetLabel( path );
- wxYield();
- Convert( id, path );
- path = wxFindNextFile();
- };
-
- for (int i = 0; i < paths.Count(); i++)
- {
- search = paths[i];
- Recurse( id, search );
- };
-};
-
-//-----------------------------------------------------------------------------
-// MyApp
-//-----------------------------------------------------------------------------
-
-MyApp::MyApp(void) :
- wxApp( )
-{
-};
-
-bool MyApp::OnInit(void)
-{
- wxFrame *frame = new MyFrame();
- frame->Show( TRUE );
-
- return TRUE;
-};
-
-
-
-
-
diff --git a/user/wxConvert/wxConvert.h b/user/wxConvert/wxConvert.h
deleted file mode 100644
index a6de4a46ac..0000000000
--- a/user/wxConvert/wxConvert.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Program: wxConvert
- *
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997, GNU (Robert Roebling)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef __WXCONVERTH__
-#define __WXCONVERTH__
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/wx.h"
-
-//-----------------------------------------------------------------------------
-// derived classes
-//-----------------------------------------------------------------------------
-
-class MyFrame;
-class MyApp;
-
-//-----------------------------------------------------------------------------
-// MyFrame
-//-----------------------------------------------------------------------------
-
-class MyFrame: public wxFrame
-{
- DECLARE_DYNAMIC_CLASS(MyFrame)
-
- public:
-
- MyFrame(void);
- void OnCommand( wxCommandEvent &event );
- void Recurse( int id, const wxString &curdir );
- void Convert( int id, const wxString &fname );
-
- wxStaticText *m_text;
-
- DECLARE_EVENT_TABLE()
-};
-
-//-----------------------------------------------------------------------------
-// MyApp
-//-----------------------------------------------------------------------------
-
-class MyApp: public wxApp
-{
- public:
-
- MyApp(void);
- virtual bool OnInit(void);
-};
-
-#endif // __WXCONVERTH__
diff --git a/user/wxFile/.cvsignore b/user/wxFile/.cvsignore
deleted file mode 100644
index 4daa84b813..0000000000
--- a/user/wxFile/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Linux
-linux-gnu
diff --git a/user/wxFile/FMJobs.cpp b/user/wxFile/FMJobs.cpp
deleted file mode 100644
index 14dd804ad6..0000000000
--- a/user/wxFile/FMJobs.cpp
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Program: FMJobs.cpp
- *
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997, GNU (Robert Roebling)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifdef __GNUG__
-#pragma implementation "FMJobs.h"
-#endif
-
-#include "FMJobs.h"
-#include "wx/utils.h"
-#include "wx/filefn.h"
-#include "wx/msgdlg.h"
-
-//-----------------------------------------------------------------------------
-// wxCopyStatusDia
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxCopyStatusDia,wxDialog);
-
-const ID_CANCEL_COPY = 1000;
-
-BEGIN_EVENT_TABLE(wxCopyStatusDia,wxDialog)
- EVT_BUTTON (ID_CANCEL_COPY, wxCopyStatusDia::OnCommand)
-END_EVENT_TABLE()
-
-wxCopyStatusDia::wxCopyStatusDia( wxFrame *parent, const wxString &dest, wxArrayString *files ) :
- wxDialog( parent, -1, "FileMaker copy job control", wxPoint(180,180), wxSize(500,200) )
-{
- int w = 0;
- int h = 0;
- GetSize( &w, &h );
-
- m_dest = dest;
- m_files = files;
- m_stop = FALSE;
-
- (void)new wxStaticText( this, -1, "Copying files", wxPoint(10,10) );
- (void)new wxStaticText( this, -1, "from:", wxPoint(30,40) );
- m_sourceMsg = new wxStaticText( this, -1, "", wxPoint(80,40), wxSize(200,-1) );
- (void)new wxStaticText( this, -1, " to:", wxPoint(30,70) );
- m_destMsg = new wxStaticText( this, -1, "", wxPoint(80,70), wxSize(200,-1) );
- (void)new wxStaticText( this, -1, " Kb copied:", wxPoint(30,100) );
- m_statusMsg = new wxStaticText( this, -1, "0", wxPoint(120,100), wxSize(100,-1) );
-
- m_cancelButton = new wxButton( this, ID_CANCEL_COPY, "Return", wxPoint(w-130,h-50), wxSize(85,30) );
-
- Centre( wxVERTICAL | wxHORIZONTAL );
-
- m_timer = new wxCopyTimer( this );
- m_timer->Start( 300, TRUE );
-
- Show( TRUE );
-};
-
-wxCopyStatusDia::~wxCopyStatusDia()
-{
- delete m_timer;
-};
-
-void wxCopyStatusDia::OnCommand( wxCommandEvent &WXUNUSED(event) )
-{
- if (m_stop) EndModal(wxID_CANCEL);
- m_stop = TRUE;
-};
-
-void wxCopyStatusDia::DoCopy(void)
-{
- wxYield();
-
- if (!wxDirExists(m_dest))
- {
- wxMessageBox( "Target is not a directory or it doesn`t exist. Can`t copy.", "FileMaker" );
- return;
- };
-
- for (uint i = 0; i < m_files->Count(); i++)
- {
- wxString src = (*m_files)[i];
- if (wxDirExists( src ))
- CopyDir( src, m_dest );
- else
- CopyFile( src, m_dest );
- if (m_stop) return;
- };
- m_stop = TRUE;
-};
-
-void wxCopyStatusDia::CopyDir( wxString &srcDir, wxString &destDir )
-{
- wxString src = srcDir;
- wxString dest = destDir;
- dest += "/";
- dest += wxFileNameFromPath( src );
- if (!wxMkdir( dest ))
- {
- wxMessageBox( "Could not create target directory.", "FileMaker" );
- return;
- };
-
- wxArrayString list;
- src += "/*";
- char *f = wxFindFirstFile( src, wxDIR );
- while (f)
- {
- list.Add( f );
- f = wxFindNextFile();
- };
-
- for (uint i = 0; i < list.Count(); i++)
- {
- wxString filename = list[i];
- if (wxDirExists( filename ))
- CopyDir( filename, dest );
- else
- CopyFile( filename, dest );
- if (m_stop) return;
- };
-};
-
-void wxCopyStatusDia::CopyFile( wxString &src, wxString &destDir )
-{
- m_sourceMsg->SetLabel( src );
- wxString dest = destDir;
- dest += "/";
- dest += wxFileNameFromPath( src );
- m_destMsg->SetLabel( dest );
-
- wxYield();
-
- if (wxFileExists(dest))
- {
- wxString s = "Target file ";
- s += dest;
- s += " exists already. Overwrite?";
- int ret = wxMessageBox( s, "FileMaker", wxYES_NO );
- if (ret == wxNO) return;
- };
-
- FILE *fs = (FILE *) NULL, *fd = (FILE *) NULL;
- if (!(fs = fopen(src, "rb")))
- {
- wxString s = "Cannot open source file ";
- s += src;
- s += ".";
- wxMessageBox( s, "FileMaker" );
- return;
- }
- else
- if (!(fd = fopen(dest, "wb")))
- {
- fclose(fs);
- wxString s = "Cannot open target file ";
- s += dest;
- s += ".";
- wxMessageBox( s, "FileMaker" );
- return;
- };
- int ch;
- long kcounter = 0;
- while (!m_stop)
- {
- int counter = 0;
- while ((ch = getc( fs )) != EOF)
- {
- putc( ch, fd );
- counter++;
- if (counter == 1000) break;
- };
- kcounter++;
- m_statusMsg->SetLabel( IntToString( kcounter) );
- wxYield();
- if (ch == EOF) break;
- };
- fclose( fs );
- fclose( fd );
-};
-
-
-//-----------------------------------------------------------------------------
-// wxDeleteStatusDia
-//-----------------------------------------------------------------------------
-
-/*
-
-IMPLEMENT_DYNAMIC_CLASS(wxDeleteStatusDia,wxDialogBox);
-
-wxDeleteStatusDia::wxDeleteStatusDia( wxFrame *parent, wxStringList *files ) :
- wxDialogBox( parent, "FileMaker delete job control", TRUE,
- 180, 180, 500, 200, wxCAPTION | wxTRANSIENT )
-{
- int w = 0;
- int h = 0;
- GetSize( &w, &h );
-
- m_files = files;
- m_stop = FALSE;
- m_countFiles = 0;
- m_countDirs = 0;
-
- wxFont *myFont = wxTheFontList->FindOrCreateFont( 12, wxROMAN, wxNORMAL, wxNORMAL );
- SetLabelFont( myFont );
- SetButtonFont( myFont );
-
- wxStaticText *msg = new wxStaticText( this, "Deleting file or directory:", 10, 10 );
- m_targetMsg = new wxStaticText( this, "", 80, 40, 300 );
- msg = new wxStaticText( this, " Directories deleted:", 10, 80 );
- m_dirsMsg = new wxStaticText( this, "0", 120, 80, 80 );
- msg = new wxStaticText( this, " Files deleted:", 10, 110 );
- m_filesMsg = new wxStaticText( this, "0", 120, 110, 100 );
-
- m_cancelButton = new wxButton( this, NULL, "Return", w-130, h-50, 85, 30 );
-
- Centre( wxVERTICAL | wxHORIZONTAL );
-
- m_timer = new wxDeleteTimer( this );
- m_timer->Start( 300, TRUE );
-
- Show( TRUE );
-};
-
-wxDeleteStatusDia::~wxDeleteStatusDia()
-{
- delete m_timer;
-};
-
-void wxDeleteStatusDia::OnCommand( wxWindow &win, wxCommandEvent &WXUNUSED(event) )
-{
- if (&win == m_cancelButton)
- {
- if (m_stop) Show( FALSE );
- m_stop = TRUE;
- return;
- };
-};
-
-void wxDeleteStatusDia::DoDelete(void)
-{
- while (wxTheApp->Pending()) wxTheApp->Dispatch();
- wxNode *node = m_files->First();
- while (node)
- {
- char *target = (char*)node->Data();
- if (wxDirExists( target ))
- DeleteDir( target );
- else
- DeleteFile( target );
- if (m_stop) return;
- node = node->Next();
- };
- m_stop = TRUE;
-};
-
-void wxDeleteStatusDia::DeleteDir( char *target )
-{
- wxString s = target;
- s += "// *";
- wxStringList list;
- char *f = wxFindFirstFile( s );
- while (f)
- {
- list.Add( f );
- f = wxFindNextFile();
- };
- wxNode *node = list.First();
- while (node)
- {
- f = (char*)node->Data();
- if (wxDirExists( f ))
- DeleteDir( f );
- else
- DeleteFile( f );
- if (m_stop) return;
- node = node->Next();
- };
- if (!wxRmdir( target ))
- {
- s = "Could not remove directory ";
- s += target;
- s += ".";
- wxMessageBox( s, "FileMaker" );
- return;
- }
- else
- {
- m_countDirs++;
- m_dirsMsg->SetLabel( wxIntToString( m_countDirs) );
- };
-};
-
-void wxDeleteStatusDia::DeleteFile( char *target )
-{
- m_targetMsg->SetLabel( target );
- while (wxTheApp->Pending()) wxTheApp->Dispatch();
- if (!wxRemoveFile( target ))
- {
- wxString s = "Could not delete file ";
- s += target;
- s += ".";
- wxMessageBox( s, "FileMaker" );
- }
- else
- {
- m_countFiles++;
- m_filesMsg->SetLabel( wxIntToString( m_countFiles) );
- };
-};
-
-*/
diff --git a/user/wxFile/FMJobs.h b/user/wxFile/FMJobs.h
deleted file mode 100644
index 7d62e1539b..0000000000
--- a/user/wxFile/FMJobs.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * File: FMJobs.h
- *
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997, GNU (Robert Roebling)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef FMJobs_h
-#define FMJobs_h
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/defs.h"
-#include "wx/dialog.h"
-#include "wx/frame.h"
-#include "wx/button.h"
-#include "wx/stattext.h"
-#include "wx/timer.h"
-
-//-----------------------------------------------------------------------------
-// derived classes
-//-----------------------------------------------------------------------------
-
-class wxCopyStatusDia;
-class wxDeleteStatusDia;
-class wxCopyTimer;
-class wxDeleteTimer;
-
-//-----------------------------------------------------------------------------
-// wxCopyStatusDia
-//-----------------------------------------------------------------------------
-
-class wxCopyStatusDia: public wxDialog
-{
- DECLARE_DYNAMIC_CLASS( wxCopyStatusDia );
-
- private:
-
- wxString m_dest;
- wxArrayString *m_files;
- wxButton *m_cancelButton;
- wxStaticText *m_sourceMsg;
- wxStaticText *m_destMsg;
- wxStaticText *m_statusMsg;
- bool m_stop;
- wxTimer *m_timer;
-
- public:
-
- wxCopyStatusDia(void) : wxDialog() {};
- wxCopyStatusDia( wxFrame *parent, const wxString &dest, wxArrayString *files );
- ~wxCopyStatusDia();
- void OnCommand( wxCommandEvent &event );
- void DoCopy(void);
-
- private:
- void CopyDir( wxString &srcDir, wxString &destDir );
- void CopyFile( wxString &src, wxString &destDir );
-
- DECLARE_EVENT_TABLE();
-};
-
-//-----------------------------------------------------------------------------
-// wxDeleteStatusDia
-//-----------------------------------------------------------------------------
-
-/*
-class wxDeleteStatusDia: public wxDialog
-{
- DECLARE_DYNAMIC_CLASS( wxDeleteStatusDia );
-
- private:
-
- wxArrayString *m_files;
- wxButton *m_cancelButton;
- wxStaticText *m_targetMsg;
- wxStaticText *m_filesMsg,*m_dirsMsg;
- bool m_stop;
- wxTimer *m_timer;
- int m_countFiles,m_countDirs;
-
- public:
-
- wxDeleteStatusDia(void) : wxDialog() {};
- wxDeleteStatusDia( wxFrame *parent, wxArrayString *files );
- ~wxDeleteStatusDia();
- void OnCommand( wxCommandEvent &event );
- void DoDelete(void);
-
- private:
- void DeleteDir( wxString &target );
- void DeleteFile( wxString &target );
-
- DECLARE_EVENT_TABLE();
-};
-*/
-
-//-----------------------------------------------------------------------------
-// wxTimer
-//-----------------------------------------------------------------------------
-
-class wxCopyTimer: public wxTimer
-{
- private:
- wxCopyStatusDia *m_owner;
-
- public:
- wxCopyTimer( wxCopyStatusDia *owner ) { m_owner = owner; };
- void Notify() { m_owner->DoCopy(); };
-};
-
-/*
-class wxDeleteTimer: public wxTimer
-{
- private:
- wxDeleteStatusDia *m_owner;
-
- public:
- wxDeleteTimer( wxDeleteStatusDia *owner ) { m_owner = owner; };
- void Notify() { m_owner->DoDelete(); };
-};
-*/
-
-#endif // FMJobs_h
-
-
diff --git a/user/wxFile/commanderview.xpm b/user/wxFile/commanderview.xpm
deleted file mode 100644
index 1ed8d8d47d..0000000000
--- a/user/wxFile/commanderview.xpm
+++ /dev/null
@@ -1,31 +0,0 @@
-/* XPM */
-static char * commanderview_xpm[] = {
-"22 22 3 1",
-" c None",
-". c #000000000000",
-"X c #FFFFFFFFFFFF",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ................. ",
-" .XXXXXXX.XXXXXXX. ",
-" .XX...XX.XX...XX. ",
-" .XXXXXXX.XXXXXXX. ",
-" .XX...XX.XX..XXX. ",
-" .XXXXXXX.XXXXXXX. ",
-" .XX..XXX.XX...XX. ",
-" .XXXXXXX.XXXXXXX. ",
-" .XX...XX.XX...XX. ",
-" .XXXXXXX.XXXXXXX. ",
-" .XX...XX.XX...XX. ",
-" .XXXXXXX.XXXXXXX. ",
-" ................. ",
-" ",
-" ",
-" ",
-" "};
-
-
-
diff --git a/user/wxFile/delete.xpm b/user/wxFile/delete.xpm
deleted file mode 100644
index 41d24d2778..0000000000
--- a/user/wxFile/delete.xpm
+++ /dev/null
@@ -1,31 +0,0 @@
-/* XPM */
-static char * delete_xpm[] = {
-"22 22 6 1",
-" s None c None",
-". c black",
-"X c red2",
-"o c white",
-"O c #DEF6DEF6DEF6",
-"+ c grey70",
-" ",
-" ",
-" ",
-" ........ ",
-" XXX .ooooooO. ",
-" XXXXOoooooOo. X ",
-" XXXOoooo Oo. XX ",
-" .XXXOoo ...XX ",
-" .+XXXOo OOXX ",
-" .O++XXXOXXX. ",
-" .ooO+XXXXX+. ",
-" .oooOXXXX+o. ",
-" .ooXXXX+XXo. ",
-" .XXXX++OXXO. ",
-" XXXX++Ooo+XX. ",
-" XXXX++OooooO+XX ",
-" XXX .OoooooooOXX ",
-" .ooooooooo+XX ",
-" ...........XX ",
-" X ",
-" ",
-" "};
diff --git a/user/wxFile/dirctrl.cpp b/user/wxFile/dirctrl.cpp
deleted file mode 100644
index 16ad375642..0000000000
--- a/user/wxFile/dirctrl.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997,1998 Robert Roebling
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the wxWindows Licence, which
- * you have received with this library (see Licence.htm).
- *
- */
-
-#ifdef __GNUG__
-#pragma implementation "dirctrl.h"
-#endif
-
-#include "dirctrl.h"
-#include "wx/gdicmn.h"
-#include "wx/utils.h"
-#include "wx/dnd.h"
-
-//-----------------------------------------------------------------------------
-// wxDirInfo
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxDirInfo,wxObject)
-
-wxDirInfo::wxDirInfo( const wxString &path )
-{
- m_showHidden = FALSE;
- m_path = path;
- if (m_path == "/") m_name ="The Computer";
- else
- if (m_path == "/home")
- {
- m_name = "My Home";
- m_path = "";
- wxGetHomeDir( &m_path );
- }
- else
- if (m_path == "/proc") m_name = "Info Filesystem";
- else
- if (m_path == "/mnt") m_name = "Mounted Devices";
- else
- if (m_path == "/usr/X11R6") m_name = "User X11";
- else
- if (m_path == "/usr") m_name = "User";
- else
- if (m_path == "/var") m_name = "Variables";
- else
- if (m_path == "/usr/local") m_name = "User local";
- else
- if (m_path == "/mnt") m_name = "Mounted Devices";
- else
- m_name = wxFileNameFromPath( m_path );
-};
-
-wxString wxDirInfo::GetName(void) const
-{
- return m_name;
-};
-
-wxString wxDirInfo::GetPath(void) const
-{
- return m_path;
-};
-
-//-----------------------------------------------------------------------------
-// wxDirCtrl
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxDirCtrl,wxTreeCtrl)
-
-BEGIN_EVENT_TABLE(wxDirCtrl,wxTreeCtrl)
- EVT_TREE_ITEM_EXPANDED (-1, wxDirCtrl::OnExpandItem)
- EVT_TREE_ITEM_COLLAPSED (-1, wxDirCtrl::OnCollapseItem)
- EVT_TREE_DELETE_ITEM (-1, wxDirCtrl::OnDeleteItem)
-END_EVENT_TABLE()
-
-wxDirCtrl::wxDirCtrl(void)
-{
- m_showHidden = FALSE;
-};
-
-wxDirCtrl::wxDirCtrl(wxWindow *parent, const wxWindowID id, const wxString &WXUNUSED(dir),
- const wxPoint& pos, const wxSize& size,
- const long style, const wxString& name )
- :
- wxTreeCtrl( parent, id, pos, size, style, name )
-{
- m_showHidden = FALSE;
-
- wxTreeItem item;
- item.m_mask = wxTREE_MASK_TEXT | wxTREE_MASK_CHILDREN | wxTREE_MASK_DATA;
- item.m_text = "Sections";
- item.m_children = 1;
- m_rootId = InsertItem( 0, item );
-
-// SetDropTarget( new wxFileDropTarget() );
-};
-
-void wxDirCtrl::OnExpandItem( const wxTreeEvent &event )
-{
- if (event.m_item.m_itemId == m_rootId)
- {
-
- wxTreeItem item;
- item.m_mask = wxTREE_MASK_TEXT | wxTREE_MASK_CHILDREN | wxTREE_MASK_DATA;
- item.m_children = 1;
-
- wxDirInfo *info = new wxDirInfo( "/" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- info = new wxDirInfo( "/home" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- info = new wxDirInfo( "/mnt" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- info = new wxDirInfo( "/usr" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- info = new wxDirInfo( "/usr/X11R6" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- info = new wxDirInfo( "/usr/local" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- info = new wxDirInfo( "/var" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- info = new wxDirInfo( "/proc" );
- item.m_text = info->GetName();
- item.m_data = (long)info;
- InsertItem( m_rootId, item );
-
- return;
- };
-
- wxDirInfo *info = (wxDirInfo *)event.m_item.m_data;
- if (!info) return;
-
- wxArrayString slist;
- wxString search,path,filename;
-
- search = info->GetPath();
- search += "/*";
-
- path = wxFindFirstFile( search, wxDIR );
- while (!path.IsNull())
- {
- filename = wxFileNameFromPath( path );
- if (m_showHidden || (filename[0] != '.'))
- {
- if ((filename != ".") &&
- (filename != "..") &&
- (path != "/home") &&
- (path != "/usr/X11R6") &&
- (path != "/usr/local") &&
- (path != "/usr") &&
- (path != "/var") &&
- (path != "/home") &&
- (path != "/proc") &&
- (path != "/mnt")
- )
-
- slist.Add( path ); // ref counting in action !
- };
- path = wxFindNextFile();
- };
-
- for (uint i = 0; i < slist.Count(); i++)
- {
- search = slist[i];
- search += "/*";
- path = wxFindFirstFile( search, wxDIR );
-
- wxDirInfo *child = new wxDirInfo( slist[i] );
- wxTreeItem item;
- item.m_mask = wxTREE_MASK_TEXT | wxTREE_MASK_CHILDREN | wxTREE_MASK_DATA;
- item.m_text = child->GetName();
- item.m_children = 0;
- if (!path.IsNull()) item.m_children = 1;
- item.m_data = (long)child;
- InsertItem( event.m_item.m_itemId, item );
- };
-};
-
-void wxDirCtrl::OnCollapseItem( const wxTreeEvent &event )
-{
- DeleteChildren( event.m_item.m_itemId );
-};
-
-void wxDirCtrl::OnDeleteItem( const wxTreeEvent &event )
-{
- wxDirInfo *info = (wxDirInfo *)event.m_item.m_data;
- if (info) delete info;
-};
diff --git a/user/wxFile/dirctrl.h b/user/wxFile/dirctrl.h
deleted file mode 100644
index d3ff13c9aa..0000000000
--- a/user/wxFile/dirctrl.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * File: DirCtrl.h
- * Purpose: dir tree control
- * Author: Robert Roebling
- * Created: 1997
- * Updated:
- * Copyright:
- */
-
-#ifndef __DIRCTRLH__
-#define __DIRCTRLH__
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/treectrl.h"
-
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
-
-class wxDirInfo;
-class wxDirCtrl;
-
-//-----------------------------------------------------------------------------
-// wxDirInfo
-//-----------------------------------------------------------------------------
-
-class wxDirInfo: public wxObject
-{
- DECLARE_DYNAMIC_CLASS(wxDirInfo)
-
- public:
-
- wxString m_name;
- wxString m_path;
- bool m_showHidden;
-
-
- wxDirInfo() {};
- wxDirInfo( const wxString &path );
- wxString GetName(void) const;
- wxString GetPath(void) const;
-};
-
-//-----------------------------------------------------------------------------
-// wxDirCtrl
-//-----------------------------------------------------------------------------
-
-class wxDirCtrl: public wxTreeCtrl
-{
- DECLARE_DYNAMIC_CLASS(wxDirCtrl)
-
- public:
-
- bool m_showHidden;
- int m_dragX,m_dragY;
- long m_rootId;
-
- wxDirCtrl(void);
- wxDirCtrl(wxWindow *parent, const wxWindowID id = -1, const wxString &dir = "/",
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- const long style = wxTR_HAS_BUTTONS,
- const wxString& name = "wxTreeCtrl" );
- void OnExpandItem( const wxTreeEvent &event );
- void OnCollapseItem( const wxTreeEvent &event );
- void OnDeleteItem( const wxTreeEvent &event );
-
- DECLARE_EVENT_TABLE()
-};
-
-#endif
diff --git a/user/wxFile/exit.xpm b/user/wxFile/exit.xpm
deleted file mode 100644
index eecc0d3000..0000000000
--- a/user/wxFile/exit.xpm
+++ /dev/null
@@ -1,29 +0,0 @@
-/* XPM */
-static char * exit_xpm[] = {
-"22 22 4 1",
-" c None",
-". c #000000000000",
-"X c #820782078207",
-"o c #FFFFFFFFFFFF",
-" ",
-" ",
-" ",
-" ",
-" ",
-" . ",
-" ..X .o.X ",
-" ..X .ooo.X ",
-" .o..oo ..XX ",
-" .oo .XXXX ",
-" .o .XXX ",
-" .o .XX ",
-" .o.X.o.X ",
-" .o.XX .o.X ",
-" .o.XX ..X ",
-" ..XX ..X ",
-" .XX .X ",
-" XX XX ",
-" ",
-" ",
-" ",
-" "};
diff --git a/user/wxFile/filectrl.cpp b/user/wxFile/filectrl.cpp
deleted file mode 100644
index 5fb6510d10..0000000000
--- a/user/wxFile/filectrl.cpp
+++ /dev/null
@@ -1,544 +0,0 @@
-/*
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997,1998 Robert Roebling
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the wxWindows Licence, which
- * you have received with this library (see Licence.htm).
- *
- */
-
-
-#ifdef __GNUG__
-#pragma implementation "filectrl.h"
-#endif
-
-#include "filectrl.h"
-
-#include "wx/dnd.h"
-
-#include "sys/types.h"
-#include "sys/stat.h"
-#include "dirent.h"
-#include "pwd.h"
-#include "grp.h"
-#include "time.h"
-
-#include "folder.xpm"
-#include "txt.xpm"
-#include "list.xpm"
-#include "find.xpm"
-
-//-----------------------------------------------------------------------------
-// wxFileData
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxFileData,wxObject);
-
-wxFileData::wxFileData( const wxString &name, const wxString &fname )
-{
- m_name = name;
- m_fileName = fname;
-
- struct stat buff;
- stat( m_fileName.GetData(), &buff );
- struct stat lbuff;
- lstat( m_fileName.GetData(), &lbuff );
-
- struct tm *t = localtime( &lbuff.st_mtime );
-// struct passwd *user = getpwuid( buff.st_uid );
-// struct group *grp = getgrgid( buff.st_gid );
-
- m_isDir = S_ISDIR( buff.st_mode );
- m_isLink = S_ISLNK( lbuff.st_mode );
- m_isExe = ((buff.st_mode & S_IXUSR ) == S_IXUSR );
-
- m_size = buff.st_size;
-
- m_hour = t->tm_hour;
- m_minute = t->tm_min;
- m_month = t->tm_mon+1;
- m_day = t->tm_mday;
- m_year = t->tm_year;
-
- m_permissions.sprintf( "%c%c%c",
- ((( buff.st_mode & S_IRUSR ) == S_IRUSR ) ? 'r' : '-'),
- ((( buff.st_mode & S_IWUSR ) == S_IWUSR ) ? 'w' : '-'),
- ((( buff.st_mode & S_IXUSR ) == S_IXUSR ) ? 'x' : '-') );
-};
-
-wxString wxFileData::GetName(void) const
-{
- return m_name;
-};
-
-wxString wxFileData::GetFullName(void) const
-{
- return m_fileName;
-};
-
-wxString wxFileData::GetHint(void) const
-{
- wxString s = m_fileName;
- s += " ";
- if (m_isDir) s += "
";
- else if (m_isLink) s += " ";
- else
- {
- s += LongToString( m_size );
- s += " bytes ";
- };
- s += IntToString( m_day );
- s += ".";
- s += IntToString( m_month );
- s += ".";
- s += IntToString( m_year );
- s += " ";
- s += IntToString( m_hour );
- s += ":";
- s += IntToString( m_minute );
- s += " ";
- s += m_permissions;
- return s;
-};
-
-wxString wxFileData::GetEntry( const int num )
-{
- wxString s;
- switch (num)
- {
- case 0:
- s = m_name;
- break;
- case 1:
- if (m_isDir) s = "";
- else if (m_isLink) s = "";
- else s = LongToString( m_size );
- break;
- case 2:
- if (m_day < 10) s = "0"; else s = "";
- s += IntToString( m_day );
- s += ".";
- if (m_month < 10) s += "0";
- s += IntToString( m_month );
- s += ".";
- if (m_year < 10) s += "0"; // this should happen real soon...
- s += IntToString( m_year );
- break;
- case 3:
- if (m_hour < 10) s = "0"; else s = "";
- s += IntToString( m_hour );
- s += ":";
- if (m_minute < 10) s += "0";
- s += IntToString( m_minute );
- break;
- case 4:
- s = m_permissions;
- break;
- default:
- s = "No entry";
- break;
- };
- return s;
-};
-
-bool wxFileData::IsDir( void )
-{
- return m_isDir;
-};
-
-bool wxFileData::IsExe( void )
-{
- return m_isExe;
-};
-
-bool wxFileData::IsLink( void )
-{
- return m_isLink;
-};
-
-long wxFileData::GetSize( void )
-{
- return m_size;
-};
-
-bool wxFileData::NewNameIsLegal( const wxString &s )
-{
- wxString fileName = wxPathOnly( m_fileName );
- fileName += "/";
- fileName += s;
- return (!wxFileExists( fileName ));
-};
-
-bool wxFileData::Rename( const wxString &s )
-{
- wxString fileName = wxPathOnly( m_fileName );
- fileName += "/";
- fileName += s;
- bool ret = wxRenameFile( m_fileName, fileName );
- if (ret)
- {
- m_fileName = fileName;
- m_name = s;
- };
- return ret;
-};
-
-void wxFileData::MakeItem( wxListItem &item )
-{
- item.m_text = m_name;
- item.m_colour = wxBLACK;
- if (IsExe()) item.m_colour = wxRED;
- if (IsDir()) item.m_colour = wxBLUE;
- if (IsLink())
- {
- wxColour *dg = wxTheColourDatabase->FindColour( "MEDIUM GREY" );
- item.m_colour = dg;
- };
- item.m_data = (long)this;
-};
-
-//-----------------------------------------------------------------------------
-// wxFileCtrl
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_DYNAMIC_CLASS(wxFileCtrl,wxListCtrl);
-
-BEGIN_EVENT_TABLE(wxFileCtrl,wxListCtrl)
- EVT_SET_FOCUS (wxFileCtrl::OnSetFocus)
-END_EVENT_TABLE()
-
-wxFileCtrl *wxFileCtrl::m_lastFocus = (wxFileCtrl *) NULL;
-
-wxFileCtrl::wxFileCtrl( void )
-{
- m_dirName = "/";
- m_showHidden = FALSE;
-};
-
-wxFileCtrl::wxFileCtrl( wxWindow *win, const wxWindowID id, const wxString &dirName,
- const wxPoint &pos, const wxSize &size,
- const long style, const wxString &name ) :
- wxListCtrl( win, id, pos, size, style, name )
-{
- SetItemSpacing( 40 );
- wxImageList *imageList = new wxImageList( 30, 30 );
- imageList->Add( wxBitmap( folder_xpm ) );
- imageList->Add( wxBitmap( txt_xpm ) );
- imageList->Add( wxBitmap( list_xpm ) );
- imageList->Add( wxBitmap( find_xpm ) );
-
- SetImageList( imageList, wxIMAGE_LIST_NORMAL );
-
- m_dirName = dirName;
- m_showHidden = FALSE;
- Update();
-
- m_lastFocus = this;
-
- m_dragStartX = 0;
- m_dragStartY = 0;
- m_dragCount = 0;
-
-// SetDropTarget( new wxFileDropTarget() );
-};
-
-void wxFileCtrl::ChangeToListMode()
-{
- SetSingleStyle( wxLC_LIST );
- Update();
-};
-
-void wxFileCtrl::ChangeToReportMode()
-{
- SetSingleStyle( wxLC_REPORT );
- Update();
-};
-
-void wxFileCtrl::ChangeToIconMode()
-{
- SetSingleStyle( wxLC_ICON );
- Update();
-};
-
-void wxFileCtrl::ShowHidden( bool show )
-{
- m_showHidden = show;
- Update();
-};
-
-int ListCompare( const long data1, const long data2, const long WXUNUSED(data) )
-{
- wxFileData *fd1 = (wxFileData*)data1 ;
- wxFileData *fd2 = (wxFileData*)data2 ;
- if (fd1->IsDir() && !fd2->IsDir()) return -1;
- if (fd2->IsDir() && !fd1->IsDir()) return 1;
- return strcmp( fd1->GetName(), fd2->GetName() );
-};
-
-void wxFileCtrl::Update( void )
-{
- DeleteAllItems();
- for (int i = 0; i < 5; i++) DeleteColumn( 0 );
- long my_style = GetWindowStyleFlag();
- if (my_style & wxLC_REPORT)
- {
- InsertColumn( 0, "Name", wxLIST_FORMAT_LEFT, 110 );
- InsertColumn( 1, "Size", wxLIST_FORMAT_LEFT, 60 );
- InsertColumn( 2, "Date", wxLIST_FORMAT_LEFT, 55 );
- InsertColumn( 3, "Time", wxLIST_FORMAT_LEFT, 50 );
- InsertColumn( 4, "Permissions", wxLIST_FORMAT_LEFT, 120 );
- };
- wxFileData *fd = (wxFileData *) NULL;
- wxListItem item;
- item.m_mask = wxLIST_MASK_TEXT + wxLIST_MASK_DATA;
- if (my_style & wxLC_ICON) item.m_mask += wxLIST_MASK_IMAGE;
- item.m_itemId = 0;
- item.m_col = 0;
- wxString s;
- wxString res = m_dirName + "/*";
- char *f = wxFindFirstFile( res.GetData(), 0 );
- while (f)
- {
- res = wxFileNameFromPath( f );
- fd = new wxFileData( res, f );
- s = fd->GetName();
- if (m_showHidden || (s[0] != '.'))
- {
- fd->MakeItem( item );
- if (my_style & wxLC_REPORT)
- {
- InsertItem( item );
- for (int i = 1; i < 5; i++) SetItem( item.m_itemId, i, fd->GetEntry( i) );
- }
- else if (my_style & wxLC_LIST)
- {
- InsertItem( item );
- }
- else if (my_style & wxLC_ICON)
- {
- if (fd->IsDir()) item.m_image = 0; else item.m_image = 1;
- InsertItem( item );
- };
- item.m_itemId++;
- };
- f = wxFindNextFile();
- };
- SortItems( ListCompare, 0 );
-};
-
-
-int wxFileCtrl::FillList( wxStringList &list )
-{
- long index = -1;
- int count = 0;
- wxString s;
- for (;;)
- {
- index = GetNextItem( index, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
- if (index == -1) break;
- wxListItem item;
- item.m_itemId = index;
- GetItem( item );
- wxFileData *fd = (wxFileData*)item.m_data;
- list.Add( fd->GetFullName() );
- index++;
- count++;
- };
- if (count == 0)
- {
- index = GetNextItem( -1, wxLIST_NEXT_ALL, wxLIST_STATE_FOCUSED );
- if (index == -1) return 0;
- wxListItem item;
- item.m_itemId = index;
- GetItem( item );
- wxFileData *fd = (wxFileData*)item.m_data;
- list.Add( fd->GetFullName() );
- count = 1;
- };
- return count;
-};
-
-void wxFileCtrl::DeleteFiles(void)
-{
-/*
- wxStringList list;
- int count = FillList( list );
- if (count > 0)
- {
- wxString s = "Delete ";
- s += wxIntToString( count );
- s += " selected file";
- if (count > 1) s += "s";
- s += " or director";
- if (count > 1) s += "ies?"; else s+= "y?";
- if (wxYES == wxMessageBox( s, "Delete", wxYES_NO ))
- wxDeleteStatusDia( NULL, &list );
- };
-*/
-};
-
-void wxFileCtrl::CopyFiles( char *WXUNUSED(dest) )
-{
-/*
- wxStringList list;
- int count = FillList( list );
- wxString s = dest;
- int ret = 0; // 0 = nix, 1 = copy, 2 = move
- wxCopyMoveDia( (wxFrame*)GetParent(), count, &ret, &s );
- if (ret == 1)
- wxCopyStatusDia( NULL, s, &list );
-*/
-};
-
-void wxFileCtrl::MoveFiles( char *WXUNUSED(dest) )
-{
-};
-
-void wxFileCtrl::RenameFile(void)
-{
-};
-
-void wxFileCtrl::MakeDir(void)
-{
-/*
- wxString s = wxGetTextFromUser( "Enter new directory name:", "Make directory" );
- if (s.IsNull()) return;
- if (s == "") return;
- if ((s == ".") || (s == ".."))
- {
- wxMessageBox( "This was obviously an invalid directory name.", "Go away." );
- return;
- };
- wxString dir;
- GetDir( dir );
- dir += "/";
- dir += s;
- if (wxFileExists( dir ))
- {
- wxMessageBox( "Filename exists already. Cannot create directoy.", "Make directory" );
- return;
- };
- wxMkdir( dir );
- Update();
-*/
-};
-
-void wxFileCtrl::GoToParentDir(void)
-{
- wxString s = m_dirName;
- int pos = s.Last( '/' );
- if ((pos >= 0) && (s != "/"))
- {
- s.Remove( pos, s.Length()-pos );
- if (s.Length() == 0) s = "/";
- m_dirName = s;
- Update();
- };
-};
-
-void wxFileCtrl::GoToHomeDir(void)
-{
- wxString s = wxGetUserHome( wxString() );
- m_dirName = s;
- Update();
-};
-
-void wxFileCtrl::GoToDir( const wxString &dir )
-{
- m_dirName = dir;
- Update();
-};
-
-void wxFileCtrl::GetDir( wxString &dir )
-{
- dir = m_dirName;
-};
-
-/*
-void wxFileCtrl::OnDropFiles( int WXUNUSED(n), char **WXUNUSED(data), int WXUNUSED(x), int WXUNUSED(y) )
-{
- wxString destDir;
- wxPoint pt( x, y );
- int flag = wxLIST_HITTEST_ONITEM;
- long hit = HitTest( pt, flag );
- if (hit > -1)
- {
- wxListItem li;
- li.m_itemId = hit;
- GetItem( li );
- wxFileData *fd = (wxFileData*)li.m_data;
- if (fd->IsDir()) fd->GetFullName( destDir );
- };
- if (destDir.IsNull()) destDir = m_dirName;
- int ret = 0; // 0 = nix, 1 = copy, 2 = move
- wxCopyMoveDia( (wxFrame*)GetParent(), n, &ret, &destDir );
- if (ret == 1)
- {
- wxStringList slist;
- for (int i = 0; i < n; i++) slist.Add( data[i] );
- wxCopyStatusDia( NULL, destDir.GetData(), &slist );
- Update();
- };
-};
-*/
-
-void wxFileCtrl::OnListDeleteItem( wxListEvent &event )
-{
- wxFileData *fd = (wxFileData*)event.m_item.m_data;
- delete fd;
-};
-
-void wxFileCtrl::OnListKeyDown( wxListEvent &event )
-{
- wxFileData *fd = (wxFileData*)event.m_item.m_data;
- if (fd->IsDir())
- {
- m_dirName = fd->GetFullName();
- Update();
- Refresh();
- return;
- };
- if (fd->IsExe())
- {
- wxExecute( fd->GetFullName() );
- return;
- };
-};
-
-void wxFileCtrl::OnListEndLabelEdit( wxListEvent &event )
-{
- wxFileData *fd = (wxFileData*)event.m_item.m_data;
- wxString newName = event.m_item.m_text;
- if (fd->NewNameIsLegal( newName ))
- {
- if (fd->Rename( newName ))
- {
- Update();
- }
- else
- {
- wxString s = "Could not rename file to ";
- s += newName;
- s += ".";
- wxMessageBox( s, "FileMaker", wxOK );
- };
- }
- else
- {
- wxString s = "File name ";
- s += newName;
- s += " exists already or is invalid.\n";
- s += "Could not rename file.";
- wxMessageBox( s, "FileMaker", wxOK );
- };
- return;
-};
-
-void wxFileCtrl::OnSetFocus( wxFocusEvent &event )
-{
- m_lastFocus = this;
- event.Skip();
-};
-
diff --git a/user/wxFile/filectrl.h b/user/wxFile/filectrl.h
deleted file mode 100644
index f2e202433b..0000000000
--- a/user/wxFile/filectrl.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997,1998 Robert Roebling
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the wxWindows Licence, which
- * you have received with this library (see Licence.htm).
- *
- */
-
-#ifndef FileList_h
-#define FileList_h
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/wx.h"
-#include "wx/listctrl.h"
-
-//-----------------------------------------------------------------------------
-// derived classes
-//-----------------------------------------------------------------------------
-
-class wxFileData;
-class wxFileCtrl;
-
-//-----------------------------------------------------------------------------
-// wxFileData
-//-----------------------------------------------------------------------------
-
-class wxFileData : public wxObject
-{
- DECLARE_DYNAMIC_CLASS(wxFileData);
-
- private:
- wxString m_name;
- wxString m_fileName;
- long m_size;
- int m_hour;
- int m_minute;
- int m_year;
- int m_month;
- int m_day;
- wxString m_permissions;
- bool m_isDir;
- bool m_isLink;
- bool m_isExe;
-
- public:
- wxFileData( void ) {};
- wxFileData( const wxString &name, const wxString &fname );
- wxString GetName(void) const;
- wxString GetFullName(void) const;
- wxString GetHint(void) const;
- wxString GetEntry( const int num );
- bool IsDir( void );
- bool IsLink( void );
- bool IsExe( void );
- long GetSize( void );
- bool NewNameIsLegal( const wxString &s );
- bool Rename( const wxString &s );
- void MakeItem( wxListItem &item );
-};
-
-//-----------------------------------------------------------------------------
-// wxFileCtrl
-//-----------------------------------------------------------------------------
-
-class wxFileCtrl : public wxListCtrl
-{
- DECLARE_DYNAMIC_CLASS(wxFileCtrl);
-
- public:
-
- static wxFileCtrl* m_lastFocus;
-
- private:
- wxString m_dirName;
- bool m_showHidden;
- int m_dragStartX;
- int m_dragStartY;
- int m_dragCount;
-
- public:
- wxFileCtrl( void );
- wxFileCtrl( wxWindow *win, const wxWindowID id, const wxString &dirName,
- const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
- const long style = wxLC_LIST, const wxString &name = "filelist" );
- void ChangeToListMode();
- void ChangeToReportMode();
- void ChangeToIconMode();
- void ShowHidden( bool show = TRUE );
- void Update( void );
- virtual void StatusbarText( char *WXUNUSED(text) ) {};
- int FillList( wxStringList &list );
- void DeleteFiles(void);
- void CopyFiles( char *dest );
- void MoveFiles( char *dest );
- void RenameFile(void);
- void MakeDir(void);
- void GoToParentDir(void);
- void GoToHomeDir(void);
- void GoToDir( const wxString &dir );
- void GetDir( wxString &dir );
- void OnListDeleteItem( wxListEvent &event );
- void OnListKeyDown( wxListEvent &event );
- void OnListEndLabelEdit( wxListEvent &event );
- void OnSetFocus( wxFocusEvent &event );
-
- DECLARE_EVENT_TABLE()
-};
-
-#endif // FileList_h
diff --git a/user/wxFile/fileopen.xpm b/user/wxFile/fileopen.xpm
deleted file mode 100644
index dd384cadaf..0000000000
--- a/user/wxFile/fileopen.xpm
+++ /dev/null
@@ -1,30 +0,0 @@
-/* XPM */
-static char * fileopen_xpm[] = {
-"22 22 5 1",
-" c None",
-". c #000000000000",
-"X c #D75CD75CD75C",
-"o c #FFFFFFFFFFFF",
-"O c #6DB66DB66DB6",
-" ",
-" ",
-" .... ",
-" .. . ",
-" ... ",
-" ... ",
-" .... ",
-" .... ",
-" .XoX....... ",
-" .oXoXoXoXo. ",
-" .XoXoXoXoX. ",
-" .oXoXo .......... ",
-" .XoXo . O O O OO. ",
-" .oXo . O O OOOO. ",
-" .Xo .OO OOOOOO. ",
-" .o . O OOOOOO. ",
-" ... O OOOOOO. ",
-" ..OOOOOOOOO. ",
-" ........... ",
-" ",
-" ",
-" "};
diff --git a/user/wxFile/find.xpm b/user/wxFile/find.xpm
deleted file mode 100644
index 82e5ccbf61..0000000000
--- a/user/wxFile/find.xpm
+++ /dev/null
@@ -1,99 +0,0 @@
-/* XPM */
-static char * find_xpm[] = {
-"32 32 64 1",
-" s background c None",
-". c black",
-"X c #FFFFFBEEFFFF",
-"o c #AEBAAAAAAEBA",
-"O c #4924618579E7",
-"+ c #AEBA8A286185",
-"@ c #BEFB8A2871C6",
-"# c #71C682078617",
-"$ c #4924410330C2",
-"% c #492451446185",
-"& c #49243CF338E3",
-"* c #EFBEAAAA8E38",
-"= c #AEBA71C66185",
-"- c #9E79820769A6",
-"; c #5144410338E3",
-": c #514434D338E3",
-"> c #D75CA28971C6",
-", c #514430C230C2",
-"< c #618541034103",
-"1 c #BEFB8A286185",
-"2 c #B6DA7DF75965",
-"3 c #410338E330C2",
-"4 c #514441034103",
-"5 c #AEBA9A696185",
-"6 c #9E7971C65144",
-"7 c #9E7971C66185",
-"8 c #DF7DAEBA9E79",
-"9 c #38E338E330C2",
-"0 c #410330C22081",
-"q c #A69961855144",
-"w c #618549244924",
-"e c #30C230C22081",
-"r c #38E32CB230C2",
-"t c #8E3851445144",
-"y c #28A228A230C2",
-"u c #79E759654924",
-"i c #A69969A65965",
-"p c #8E3861855144",
-"a c #71C661854103",
-"s c #208120812081",
-"d c #596538E330C2",
-"f c #8E3871C65144",
-"g c #71C651445144",
-"h c #186118611861",
-"j c #8E3861854103",
-"k c #71C651444103",
-"l c #71C641034103",
-"z c #514451445144",
-"x c #5144514430C2",
-"c c #104010401040",
-"v c #410330C230C2",
-"b c #30C220812081",
-"n c #618551444103",
-"m c #79E779E779E7",
-"M c #6185410330C2",
-"N c #38E330C22081",
-"B c #6185514430C2",
-"V c #38E324922081",
-"C c #514400000000",
-"Z c #E79DD34CD75C",
-"A c #C71BC71BBEFB",
-"S c #8E387DF769A6",
-"D c #208128A228A2",
-"F c #30C238E34103",
-" ........ XXXo ",
-" ..O......O..Xoo+@ ",
-" .#..$.###%..&.@+*X=- ",
-" ...;;;.%$:;;;...XX>XXXo ",
-" ...$$,$+XXX.##<#..o111@2 ",
-" .&.34&+XXoo5.XX#%.$.@@5*X=6 ",
-" ..3378X+@@++@@++@@..XX>XXoo+2 ",
-".9.0qXXX2++12+XXX.X.w.XXo11@@1 ",
-"..erX66==66=11111.o1..1111*XX>>t",
-"..yuXi76678X+@2++@@+..:+XXX>+ppa",
-"..sdXpppXX=++@=++=8X..w+fqppupge",
-"..h=76.....pganknwBMz ",
-"XM.w.h..Xb0,*6..v..CC.kklkB<<;m ",
-"ZMzX#..;......9..N.rC...lBM c #8E3886178617",
-", c #410341038E38",
-" ",
-" .X ",
-" Xoo. ",
-" O.Xo ",
-" ++ +X@O#o ",
-" +$$++ +$$%%#o ",
-" +$$$$$+$$$@%#o& ",
-" +$$$$$+$$$$O%#o$&& ",
-" +$$$$$+$$$$$@##o$$$&+ ",
-" +$$**$+$$$$$$%O#o$$$$$& ",
-" +$$$$$+$$**$$+@%#o$$$$$$=",
-" +$$**$+$$$$$*&$O%-o$$$$$-+",
-" +$$$$$+$$**$$+$$@%o;+$$$*+;",
-" +$$**$+$$$$$*+$$$O##o$+$*+;+",
-" +$$$$$+$$**$$+$$$$@#oo$$++;+ ",
-" +$$**$+$$$$$*+$$$$$%%#;$$$$++ ",
-" +$$$$$+$$**$$+$$*-$$%#oo$$$$$$*",
-"+$$$$$+$$$$$*+$$$$$*-O##;$$$$$-+",
-"*:X$$+oo+$$$+$$**$$$$%%;o$$$$*+;",
-"+;-:X$$+oo:&$$$$$**$$ooo;$$$*+;+",
-" +;*:X$$*+$$**$$$$*-X%o$$$*+;+ ",
-" +;**++$$$$$**$$$$.#o$$*+;+ ",
-" +*+$$=:$$$$*-$$$##$>Xo+ ",
-" +$$$$$:*$$$$-*$;X-+-+ ",
-" *+$$$$$$$:*$$$$$;,+;& ",
-" +*:+$$$$$$$*:$$$=+;+ ",
-" +;o:+$$$$$$$$$*+;+ ",
-" +;o:+$$$$$$*+;+ ",
-" +;o:+$$$*+;+ ",
-" +;o:+*+;+ ",
-" +;-+;+ ",
-" +;+ "};
diff --git a/user/wxFile/wxFile.cpp b/user/wxFile/wxFile.cpp
deleted file mode 100644
index 5c93b977df..0000000000
--- a/user/wxFile/wxFile.cpp
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Program: wxFile
- *
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997, GNU (Robert Roebling)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifdef __GNUG__
-#pragma implementation "wxFile.h"
-#endif
-
-#include "wxFile.h"
-#include "wx/dnd.h"
-
-#include "delete.xpm"
-#include "home.xpm"
-#include "prev.xpm"
-#include "fileopen.xpm"
-#include "exit.xpm"
-#include "listview.xpm"
-#include "iconview.xpm"
-#include "reportview.xpm"
-#include "treeview.xpm"
-#include "commanderview.xpm"
-#include "singleview.xpm"
-#include "save.xpm"
-#include "search.xpm"
-#include "help.xpm"
-
-//-----------------------------------------------------------------------------
-// main program
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_APP(MyApp)
-
-//-----------------------------------------------------------------------------
-// MyFrame
-//-----------------------------------------------------------------------------
-
-const int ID_FILECTRL = 1000;
-const int ID_DIRCTRL = 1001;
-const int ID_TOOLBAR = 1002;
-
-const int ID_QUIT = 100;
-const int ID_ABOUT = 101;
-
-const int ID_LIST = 200;
-const int ID_REPORT = 201;
-const int ID_ICON = 202;
-
-const int ID_SINGLE = 203;
-const int ID_TREE = 204;
-const int ID_COMMANDER = 205;
-
-const int ID_HOME = 400;
-const int ID_PARENT = 401;
-const int ID_MOUNT = 402;
-const int ID_SEARCH = 403;
-
-const int ID_DELETE = 501;
-const int ID_MD = 502;
-
-
-IMPLEMENT_DYNAMIC_CLASS( MyFrame, wxFrame )
-
-BEGIN_EVENT_TABLE(MyFrame,wxFrame)
- EVT_MENU (ID_ABOUT, MyFrame::OnAbout)
- EVT_MENU (ID_QUIT, MyFrame::OnCommand)
- EVT_MENU (ID_HOME, MyFrame::OnCommand)
- EVT_MENU (ID_PARENT, MyFrame::OnCommand)
- EVT_MENU (ID_LIST, MyFrame::OnView)
- EVT_MENU (ID_REPORT, MyFrame::OnView)
- EVT_MENU (ID_ICON, MyFrame::OnView)
- EVT_MENU (ID_TREE, MyFrame::OnView)
- EVT_MENU (ID_SINGLE, MyFrame::OnView)
- EVT_MENU (ID_COMMANDER, MyFrame::OnView)
- EVT_LIST_KEY_DOWN (ID_FILECTRL, MyFrame::OnListKeyDown)
- EVT_LIST_DELETE_ITEM (ID_FILECTRL, MyFrame::OnListDeleteItem)
- EVT_LIST_END_LABEL_EDIT (ID_FILECTRL, MyFrame::OnListEndLabelEdit)
- EVT_LIST_BEGIN_DRAG (ID_FILECTRL, MyFrame::OnListDrag)
- EVT_TREE_KEY_DOWN (ID_DIRCTRL, MyFrame::OnTreeKeyDown)
- EVT_TREE_SEL_CHANGED (ID_DIRCTRL, MyFrame::OnTreeSelected)
-END_EVENT_TABLE()
-
-MyFrame::MyFrame(void) :
- wxFrame( (wxFrame *) NULL, -1, (char *) "wxFile", wxPoint(20,20), wxSize(470,360) )
-{
- wxMenu *file_menu = new wxMenu( "Menu 1" );
- file_menu->Append( ID_ABOUT, "About..");
- file_menu->Append( ID_QUIT, "Exit");
-
- wxMenu *view_menu = new wxMenu( "Menu 2" );
- view_menu->Append( ID_LIST, "List mode");
- view_menu->Append( ID_REPORT, "Report mode");
- view_menu->Append( ID_ICON, "Icon mode");
-
- wxMenuBar *menu_bar = new wxMenuBar();
- menu_bar->Append(file_menu, "File" );
- menu_bar->Append(view_menu, "View" );
- menu_bar->Show( TRUE );
-
- SetMenuBar( menu_bar );
-
- CreateStatusBar( 2 );
-
- SetStatusText( "Welcome", 0 );
- SetStatusText( "wxFile v0.2 by Robert Roebling.", 1 );
-
- wxToolBar *m_tb = CreateToolBar();
- m_tb->SetMargins( 2, 2 );
-
- m_tb->AddSeparator();
- m_tb->AddTool( ID_QUIT, wxBitmap( exit_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Exit wxFile" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_PARENT, wxBitmap( prev_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Go to parent directory" );
- m_tb->AddTool( ID_HOME, wxBitmap( home_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Go to home directory" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_DELETE, wxBitmap( delete_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Delete file" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_MD, wxBitmap( fileopen_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Create directory" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_LIST, wxBitmap( listview_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "List view" );
- m_tb->AddTool( ID_REPORT, wxBitmap( reportview_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Report view" );
- m_tb->AddTool( ID_ICON, wxBitmap( iconview_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Icon view" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_TREE, wxBitmap( treeview_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Tree view" );
- m_tb->AddTool( ID_COMMANDER, wxBitmap( commanderview_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Commander view" );
- m_tb->AddTool( ID_SINGLE, wxBitmap( singleview_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Single view" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_MOUNT, wxBitmap( search_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Mount devices" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_SEARCH, wxBitmap( save_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "Find file(s)" );
- m_tb->AddSeparator();
- m_tb->AddTool( ID_ABOUT, wxBitmap( help_xpm ), wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, "About wxFile" );
-
- m_tb->Realize();
-
- m_splitter = new wxSplitterWindow( this, -1, wxPoint(0,0), wxSize(400,300), wxSP_3D );
-
- m_leftFile = (wxFileCtrl *) NULL;
- m_dir = new wxDirCtrl( m_splitter, ID_DIRCTRL, "/", wxPoint(10,45), wxSize(200,330) );
-
- wxString homepath;
- wxGetHomeDir( &homepath );
-
- m_rightFile = new wxFileCtrl( m_splitter, ID_FILECTRL, homepath, wxPoint(220,5), wxSize(200,330) );
-
- m_leftFile = new wxFileCtrl( m_splitter, ID_FILECTRL, homepath, wxPoint(0,5), wxSize(200,330) );
- m_leftFile->Show( FALSE );
-
- m_leftFile->m_lastFocus = m_rightFile;
-
- int x = 0;
- GetClientSize( &x, (int *) NULL );
-
- m_splitter->SplitVertically( m_dir, m_rightFile, x / 3 );
- m_splitter->SetMinimumPaneSize( 10 );
-};
-
-void MyFrame::OnView( wxCommandEvent &event )
-{
- int x = 0;
- GetClientSize( &x, (int *) NULL );
- switch (event.GetId())
- {
- case ID_LIST:
- m_rightFile->ChangeToListMode();
- if (m_splitter->IsSplit() && (m_splitter->GetWindow1() == m_leftFile))
- m_leftFile->ChangeToListMode();
- break;
- case ID_REPORT:
- m_rightFile->ChangeToReportMode();
- if (m_splitter->IsSplit() && (m_splitter->GetWindow1() == m_leftFile))
- m_leftFile->ChangeToReportMode();
- break;
- case ID_ICON:
- m_rightFile->ChangeToIconMode();
- if (m_splitter->IsSplit() && (m_splitter->GetWindow1() == m_leftFile))
- m_leftFile->ChangeToIconMode();
- break;
- case ID_TREE:
- if (m_splitter->IsSplit())
- {
- if (m_splitter->GetWindow1() != m_dir)
- {
- m_splitter->Unsplit( m_leftFile );
- m_dir->Show(TRUE);
- m_splitter->SplitVertically( m_dir, m_rightFile, x/3 );
- };
- }
- else
- {
- m_dir->Show(TRUE);
- m_splitter->SplitVertically( m_dir, m_rightFile, x/3 );
- };
- break;
- case ID_SINGLE:
- if (m_splitter->IsSplit()) m_splitter->Unsplit( m_splitter->GetWindow1() );
- break;
- case ID_COMMANDER:
- if (m_splitter->IsSplit())
- {
- if (m_splitter->GetWindow1() != m_leftFile)
- {
- m_splitter->Unsplit( m_dir );
- m_leftFile->ChangeToListMode();
- m_rightFile->ChangeToListMode();
- m_leftFile->Show(TRUE);
- m_splitter->SplitVertically( m_leftFile, m_rightFile, x/2 );
- };
- }
- else
- {
- m_leftFile->ChangeToListMode();
- m_rightFile->ChangeToListMode();
- m_leftFile->Show(TRUE);
- m_splitter->SplitVertically( m_leftFile, m_rightFile, x/2 );
- };
- break;
- default:
- break;
- };
-};
-
-void MyFrame::OnCommand( wxCommandEvent &event )
-{
- switch (event.GetId())
- {
- case ID_QUIT:
- Close( TRUE );
- break;
- case ID_HOME:
- m_leftFile->m_lastFocus->GoToHomeDir();
- break;
- case ID_PARENT:
- m_leftFile->m_lastFocus->GoToParentDir();
- break;
- default:
- break;
- };
-};
-
-void MyFrame::OnAbout( wxCommandEvent &WXUNUSED(event) )
-{
- wxDialog dialog( this, -1, "About wxFile", wxPoint(100,100), wxSize(540,350), wxDIALOG_MODAL );
-
- int w = 0;
- int h = 0;
- dialog.GetSize( &w, &h );
-
- int x = 30;
- int y = 20;
- int step = 20;
-
- (void)new wxStaticBox( &dialog, -1, (const char*)NULL, wxPoint(10,10), wxSize(w-20,h-80) );
-
- (void)new wxStaticText( &dialog, -1, "wxFile v0.1", wxPoint(240,y) );
- y += 2*step-10;
-
- (void)new wxStaticText( &dialog, -1, "Written by Robert Roebling, 1998.", wxPoint(x,y) );
- y += 2*step;
-
- (void)new wxStaticText( &dialog, -1,
- "wxFile uses wxGTK, the GTK port of the wxWindows GUI-library.", wxPoint(x,y) );
- y += step;
- (void)new wxStaticText( &dialog, -1, "http://www.freiburg.linux.de/~wxxt", wxPoint(x+50,y) );
- y += step;
- (void)new wxStaticText( &dialog, -1, "http://web.ukonline.co.uk/julian.smart/wxwin", wxPoint(x+50,y) );
- y += 2*step;
-
- (void)new wxStaticText( &dialog, -1, "wxFile Copyright: GPL.", wxPoint(x,y) );
- y += 2*step;
- (void)new wxStaticText( &dialog, -1, "For questions concerning wxGTK, you may mail to:", wxPoint(x,y) );
- y += step;
- (void)new wxStaticText( &dialog, -1, "roebling@ruf.uni-freiburg.de", wxPoint(x+50,y) );
-
- (void) new wxButton( &dialog, wxID_OK, "Return", wxPoint(w/2-40,h-50), wxSize(80,30) );
-
- dialog.Fit();
-
- dialog.ShowModal();
-};
-
-void MyFrame::OnListKeyDown( wxListEvent &event )
-{
- m_rightFile->m_lastFocus->OnListKeyDown( event );
-};
-
-void MyFrame::OnListDeleteItem( wxListEvent &event )
-{
- m_rightFile->m_lastFocus->OnListDeleteItem( event );
-};
-
-void MyFrame::OnListEndLabelEdit( wxListEvent &event )
-{
- m_rightFile->m_lastFocus->OnListEndLabelEdit( event );
-};
-
-void MyFrame::OnListDrag( wxListEvent &event )
-{
- wxFileDataObject data;
- data.AddFile( "/home/karl/test.txt" );
-
- wxDropSource drag( data, m_leftFile->m_lastFocus );
- drag.DoDragDrop();
-};
-
-void MyFrame::OnTreeSelected( wxTreeEvent &event )
-{
- wxDirInfo *info = (wxDirInfo*) event.m_item.m_data;
- if (info) SetStatusText( info->GetPath() );
-};
-
-void MyFrame::OnTreeKeyDown( wxTreeEvent &event )
-{
- wxDirInfo *info = (wxDirInfo*) event.m_item.m_data;
- if (info) m_rightFile->GoToDir( info->GetPath() );
-};
-
-//-----------------------------------------------------------------------------
-// MyApp
-//-----------------------------------------------------------------------------
-
-MyApp::MyApp(void) :
- wxApp( )
-{
-};
-
-bool MyApp::OnInit(void)
-{
- wxFrame *frame = new MyFrame();
- frame->Show( TRUE );
-
- return TRUE;
-};
-
-
-
-
-
diff --git a/user/wxFile/wxFile.h b/user/wxFile/wxFile.h
deleted file mode 100644
index 9337c77db1..0000000000
--- a/user/wxFile/wxFile.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Program: wxFile
- *
- * Author: Robert Roebling
- *
- * Copyright: (C) 1997, GNU (Robert Roebling)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef __WXFILEH__
-#define __WXFILEH__
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/wx.h"
-#include "wx/dcscreen.h"
-#include "wx/splitter.h"
-#include "wx/toolbar.h"
-#include "filectrl.h"
-#include "dirctrl.h"
-
-//-----------------------------------------------------------------------------
-// derived classes
-//-----------------------------------------------------------------------------
-
-class MyFrame;
-class MyApp;
-
-//-----------------------------------------------------------------------------
-// MyFrame
-//-----------------------------------------------------------------------------
-
-class MyFrame: public wxFrame
-{
- DECLARE_DYNAMIC_CLASS(MyFrame)
-
- public:
-
- MyFrame(void);
- void OnCommand( wxCommandEvent &event );
- void OnAbout( wxCommandEvent &event );
- void OnView( wxCommandEvent &event );
- void OnListKeyDown( wxListEvent &event );
- void OnListDeleteItem( wxListEvent &event );
- void OnListEndLabelEdit( wxListEvent &event );
- void OnListDrag( wxListEvent &event );
- void OnTreeSelected( wxTreeEvent &event );
- void OnTreeKeyDown( wxTreeEvent &event );
-
- wxSplitterWindow *m_splitter;
- wxFileCtrl *m_rightFile;
- wxFileCtrl *m_leftFile;
- wxDirCtrl *m_dir;
-
- DECLARE_EVENT_TABLE()
-};
-
-//-----------------------------------------------------------------------------
-// MyApp
-//-----------------------------------------------------------------------------
-
-class MyApp: public wxApp
-{
- public:
-
- MyApp(void);
- virtual bool OnInit(void);
-};
-
-#endif // __WXFILEH__
diff --git a/user/wxTest/folder.xpm b/user/wxTest/folder.xpm
deleted file mode 100644
index 7a36fa27f1..0000000000
--- a/user/wxTest/folder.xpm
+++ /dev/null
@@ -1,48 +0,0 @@
-/* XPM */
-static char * folder_xpm[] = {
-"33 33 12 1",
-" c None",
-". c #D75CA69979E7",
-"X c #208120812081",
-"o c #FFFFFFFFFFFF",
-"O c #B6DA79E74924",
-"+ c #596559655965",
-"@ c #410341034103",
-"# c #514451445144",
-"$ c #000000000820",
-"% c #8E38596530C2",
-"& c #8E3886178617",
-"* c #492479E769A6",
-" ",
-" .. XXX ",
-" .o.. X.XXX ",
-" .ooo..OOOXXX ",
-" .ooooo..OOOXXX ++ ",
-"XXX .ooooooo..OOOXXX @#++@ ",
-"XOX@X.ooooooooo...OOO@XX+X#+++ ",
-"X...@@$.oooooooooo...OOXXX@X@+ ",
-"O.....@XXOooooooooooo..OOOX@@X ",
-"XO......@%X.ooooooooooo..%%OX@ ",
-".O........@XX.oooooooooo.X%XX ",
-" %O.........@@$.oooooooo.XX%X ",
-" %O...........@@$.oooooo.X%X# ",
-" %O.............@@X.oooo.XX%& ",
-" .@...............@XX.oo.@XX ",
-" %.................@X.o.XXX ",
-" OO................O%X..XX@ ",
-" +OO.......O..OOOOOOO@..@X& ",
-" .%O....OOOOOOOOOOOOOX.+XX ",
-" XOOOOOOOOOOOOOOOOOOX+*XX ",
-" @OOOOO.OOOOOOOOOOOOX*+XX ",
-" .%OOOOOOOOOOOOOOO%OXX#XX ",
-" XOOOOOOOOOOO%O%O%%OX++& ",
-" @O%O%OO%O%%O%%%%%%%XXX ",
-" XXXO%%%%%%%%%%%%%%XXX ",
-" OXXX%%%%%%%%%%%%@XX# ",
-" OX@X%%%%%%%%%%%XXX ",
-" OXXX%%%O%%%%%XXX ",
-" OXXX%%%%%%%XX* ",
-" OX@X%%%%X%X& ",
-" OXXX%%%XX ",
-" OXXX%%@ ",
-" OXXX "};
diff --git a/user/wxTest/horse.png b/user/wxTest/horse.png
deleted file mode 100644
index f1ad7558e4..0000000000
--- a/user/wxTest/horse.png
+++ /dev/null
@@ -1 +0,0 @@
-‰PNG
diff --git a/user/wxTest/list.xpm b/user/wxTest/list.xpm
deleted file mode 100644
index b0162e2b07..0000000000
--- a/user/wxTest/list.xpm
+++ /dev/null
@@ -1,45 +0,0 @@
-/* XPM */
-static char * list_xpm[] = {
-"32 32 10 1",
-" c #DF7DDF7DDF7D",
-". c #9E799E79A699",
-"X c #AEBAAEBAAEBA",
-"o c #FFFFFFFFFFFF",
-"O c #514451445144",
-"+ c #410341034103",
-"@ c #596559655965",
-"# c #000000000000",
-"$ c #BEFBBEFBBEFB",
-"% c #208120812081",
-" ",
-" . ",
-" Xo.. ",
-" Xoooo.X ",
-" Xooooooo.X ",
-" XooooO+ooooXX ",
-" XoooooooO+ooo.. ",
-" XooooOOoooo@@ooo.. ",
-" XoooooooOOooooooooo.X ",
-" Xoooo@Ooooo+@oooO+oooo.X",
-" Xooooooo@OoooooooooO+oooo",
-" XooooooooooO@oooOOoooo@@oo",
-" XooooO+ooooooooooooOOoooooo",
-" XoooooooO+oooooo@Ooooo+@oooX",
-" XooooOOoooo@@oooooo@OooooooOX",
-" XoooooooOOooooooooooooO@oooOX#",
-" Xoooo@Ooooo+@oooO+oooooooooOX#X",
-"Xooooooo@OoooooooooO+ooooooOX#XX",
-"O@$oooooooO@oooOOoooo@@oooOX#XX ",
-"X#+@$ooooooooooooOOooooooOX#XX ",
-" XX#O@ooooooo@Ooooo+@oooOX#XX ",
-" XX#OXooooooo@OooooooOX#X ",
-" XXO@XoooooooO@oooOX#X ",
-" XX#%@XoooooooooOX#X ",
-" XX#%@XooooooOX#X ",
-" XX#%@XoooOX#X ",
-" XX#%@XOX#X ",
-" XX#+X#X ",
-" XXXX ",
-" ",
-" ",
-" "};
diff --git a/user/wxTest/test.xpm b/user/wxTest/test.xpm
deleted file mode 100644
index 7964a4ca21..0000000000
--- a/user/wxTest/test.xpm
+++ /dev/null
@@ -1,11638 +0,0 @@
-/* XPM */
-static char *test_xpm[] = {
-/* columns rows colors chars-per-pixel */
-"200 200 11432 3",
-" c #010101010101",
-". c #020202020202",
-"X c Gray1",
-"o c #040404040404",
-"O c Gray2",
-"+ c #060606060606",
-"@ c #070707070707",
-"# c Gray3",
-"$ c #090909090909",
-"% c Gray4",
-"& c #0b0b0b0b0b0b",
-"* c #0c0c0c0c0c0c",
-"= c Gray5",
-"- c #0e0e0e0e0e0e",
-"; c Gray6",
-": c #0f0f0e0e1313",
-"> c #0f0f10100b0b",
-", c #10100f0f1414",
-"< c #121213130b0b",
-"1 c #101011110c0c",
-"2 c #111112120d0d",
-"3 c #121213130d0d",
-"4 c #121213130e0e",
-"5 c #131315150a0a",
-"6 c #131314140c0c",
-"7 c #131314140e0e",
-"8 c #131314140f0f",
-"9 c #141416160b0b",
-"0 c #141415150d0d",
-"q c #141415150f0f",
-"w c #151516160e0e",
-"e c #161617170f0f",
-"r c #101010101010",
-"t c #111111111111",
-"y c #111111111313",
-"u c #121212121010",
-"i c #131313131111",
-"p c Gray7",
-"a c #131313131313",
-"s c #111110101515",
-"d c #121211111616",
-"f c #121212121414",
-"g c #131313131515",
-"h c #131312121717",
-"j c #141415151010",
-"k c #141414141212",
-"l c #151515151313",
-"z c #151516161010",
-"x c #151516161111",
-"c c #161617171111",
-"v c #161617171212",
-"b c Gray8",
-"n c #151515151515",
-"m c #141414141616",
-"M c #151515151717",
-"N c #161616161414",
-"B c #171717171515",
-"V c #161616161616",
-"C c Gray9",
-"Z c #141413131818",
-"A c #141413131919",
-"S c #151514141919",
-"D c #151514141a1a",
-"F c #161615151a1a",
-"G c #161615151b1b",
-"H c #161616161818",
-"J c #171717171919",
-"K c #171716161b1b",
-"L c #161615151d1d",
-"P c #171716161c1c",
-"I c #171716161e1e",
-"U c #171718181010",
-"Y c #171718181212",
-"T c #171718181313",
-"R c #181817171c1c",
-"E c #181817171d1d",
-"W c #181817171f1f",
-"Q c #181819191414",
-"! c #181818181616",
-"~ c #191919191717",
-"^ c #19191a1a1414",
-"/ c #19191a1a1515",
-"( c #1a1a1b1b1515",
-") c #1a1a1b1b1616",
-"_ c #1b1b1c1c1616",
-"` c #1b1b1c1c1717",
-"' c #1c1c1d1d1515",
-"] c #1c1c1d1d1717",
-"[ c #1d1d1e1e1616",
-"{ c #1e1e1f1f1717",
-"} c #181818181818",
-"| c #191919191919",
-" . c #181818181a1a",
-"... c #191919191b1b",
-"X.. c #1a1a1a1a1818",
-"o.. c #1b1b1b1b1919",
-"O.. c Gray10",
-"+.. c #1b1b1b1b1b1b",
-"@.. c #191918181d1d",
-"#.. c #191918181e1e",
-"$.. c #1a1a19191e1e",
-"%.. c #1a1a19191f1f",
-"&.. c #1a1a1a1a1c1c",
-"*.. c #1b1b1b1b1d1d",
-"=.. c #1b1b1a1a1f1f",
-"-.. c #19191d1d1c1c",
-";.. c #1b1b1f1f1e1e",
-":.. c #1c1c1d1d1818",
-">.. c #1c1c1c1c1a1a",
-",.. c #1d1d1d1d1b1b",
-"<.. c #1d1d1e1e1818",
-"1.. c #1d1d1e1e1919",
-"2.. c #1e1e1f1f1919",
-"3.. c #1e1e1f1f1a1a",
-"4.. c Gray11",
-"5.. c #1d1d1d1d1d1d",
-"6.. c #1c1c1c1c1e1e",
-"7.. c #1d1d1d1d1f1f",
-"8.. c #1e1e1e1e1c1c",
-"9.. c #1f1f1f1f1d1d",
-"0.. c #1e1e1e1e1e1e",
-"q.. c Gray12",
-"w.. c #191918182020",
-"e.. c #1a1a19192121",
-"r.. c #1b1b1a1a2020",
-"t.. c #1b1b1a1a2222",
-"y.. c #1c1c1b1b2020",
-"u.. c #1c1c1b1b2121",
-"i.. c #1c1c1b1b2323",
-"p.. c #1d1d1c1c2121",
-"a.. c #1d1d1c1c2222",
-"s.. c #1e1e1d1d2222",
-"d.. c #1e1e1d1d2323",
-"f.. c #1e1e1e1e2020",
-"g.. c #1f1f1f1f2121",
-"h.. c #1f1f1e1e2323",
-"j.. c #1d1d1c1c2424",
-"k.. c #1f1f1e1e2424",
-"l.. c #1f1f1e1e2626",
-"z.. c #1e1e20201313",
-"x.. c #1e1e20201515",
-"c.. c #1f1f21211616",
-"v.. c #1f1f20201818",
-"b.. c #1f1f20201a1a",
-"n.. c #1f1f20201b1b",
-"m.. c #1c1c20201f1f",
-"M.. c #1e1e20201d1d",
-"N.. c #1f1f24241d1d",
-"B.. c #1f1f24241e1e",
-"V.. c #1d1d21212020",
-"C.. c #1f1f20202222",
-"Z.. c #1e1e22222121",
-"A.. c #1f1f23232222",
-"S.. c #1f1f23232424",
-"D.. c #1f1f24242020",
-"F.. c #20201f1f2424",
-"G.. c #20201f1f2525",
-"H.. c #202022221515",
-"J.. c #202022221717",
-"K.. c #222224241616",
-"L.. c #202021211919",
-"P.. c #202021211b1b",
-"I.. c #212123231818",
-"U.. c #212122221a1a",
-"Y.. c #222223231b1b",
-"T.. c #202021211c1c",
-"R.. c #202020201e1e",
-"E.. c #212121211f1f",
-"W.. c #212122221c1c",
-"Q.. c #212122221d1d",
-"!.. c #202022221f1f",
-"~.. c #212123231e1e",
-"^.. c #222223231d1d",
-"/.. c #222223231e1e",
-"(.. c #212124241b1b",
-").. c #222224241919",
-"_.. c #232325251818",
-"`.. c #232325251a1a",
-"'.. c #202025251e1e",
-"].. c #202025251f1f",
-"[.. c #212126261f1f",
-"{.. c #222225251c1c",
-"}.. c #232324241c1c",
-"|.. c #232324241e1e",
-" X. c #232324241f1f",
-".X. c #232326261f1f",
-"XXX c #242426261818",
-"oXX c #242426261919",
-"OXX c #242426261b1b",
-"+XX c #252527271a1a",
-"@XX c #242425251d1d",
-"#XX c #242425251f1f",
-"$XX c #252527271c1c",
-"%XX c #252526261e1e",
-"&XX c #262627271f1f",
-"*XX c #252528281717",
-"=XX c #232329291f1f",
-"-XX c #262628281a1a",
-";XX c #262628281b1b",
-":XX c #272729291b1b",
-">XX c #252528281f1f",
-",XX c #272729291c1c",
-"oo c #25252a2a2323",
-",oo c #272728282020",
-"OO c #2b2b2b2b2929",
-",OO c #2a2a2a2a2a2a",
-"++ c #2d2d33332929",
-",++ c #2c2c33332b2b",
-"<++ c #2d2d32322b2b",
-"1++ c #2e2e31312828",
-"2++ c #2f2f30302828",
-"3++ c #2e2e30302b2b",
-"4++ c #2e2e31312a2a",
-"5++ c #2f2f30302a2a",
-"6++ c #2f2f30302b2b",
-"7++ c #2f2f32322929",
-"8++ c #2c2c31312d2d",
-"9++ c #2c2c30302f2f",
-"0++ c #2c2c33332c2c",
-"q++ c #2d2d32322c2c",
-"w++ c #2c2c32322e2e",
-"e++ c #2d2d32322e2e",
-"r++ c #2e2e33332c2c",
-"t++ c #2e2e33332d2d",
-"y++ c #2e2e33332f2f",
-"u++ c #2e2e34342828",
-"i++ c #2f2f35352929",
-"p++ c #2e2e34342a2a",
-"a++ c #2f2f35352b2b",
-"s++ c #2e2e36362929",
-"d++ c #2f2f37372828",
-"f++ c #2e2e36362b2b",
-"g++ c #2d2d34342d2d",
-"h++ c #2e2e35352d2d",
-"j++ c #2f2f34342d2d",
-"k++ c #2e2e35352e2e",
-"l++ c #2f2f34342e2e",
-"z++ c #2f2f37372c2c",
-"x++ c #2f2f36362e2e",
-"c++ c #2f2f38382727",
-"v++ c #2a2a30303030",
-"b++ c #2c2c30303131",
-"n++ c #2d2d31313030",
-"m++ c #2d2d31313232",
-"M++ c #2c2c32323030",
-"N++ c #2d2d33333131",
-"B++ c #2e2e32323131",
-"V++ c #2e2e32323333",
-"C++ c #2f2f33333232",
-"Z++ c #2f2f34343030",
-"A++ c #2f2f35353131",
-"S++ c #2e2e34343232",
-"D++ c #30302b2b2727",
-"F++ c #30302b2b2828",
-"G++ c #31312c2c2828",
-"H++ c #30302c2c2b2b",
-"J++ c #31312e2e2929",
-"K++ c #32322d2d2929",
-"L++ c #32322d2d2a2a",
-"P++ c #32322f2f2a2a",
-"I++ c #33332e2e2a2a",
-"U++ c #31312d2d2c2c",
-"Y++ c #32322e2e2d2d",
-"T++ c #33332f2f2e2e",
-"R++ c #34342f2f2b2b",
-"E++ c #34342f2f2c2c",
-"W++ c #303033332222",
-"Q++ c #303032322525",
-"!++ c #303032322727",
-"~++ c #313133332626",
-"^++ c #313134342121",
-"/++ c #303034342323",
-"(++ c #323235352222",
-")++ c #333336362323",
-"_++ c #303034342525",
-"`++ c #303037372525",
-"'++ c #303037372727",
-"]++ c #323235352424",
-"[++ c #323234342626",
-"{++ c #323234342727",
-"}++ c #333335352727",
-"|++ c #323236362525",
-" @+ c #333336362525",
-".@+ c #323236362727",
-"X@+ c #343437372424",
-"o@+ c #343437372626",
-"O@+ c #303031312929",
-"+@+ c #303031312b2b",
-"@@@ c #303033332828",
-"#@@ c #313133332828",
-"$@@ c #303033332a2a",
-"%@@ c #313132322a2a",
-"&@@ c #333330302b2b",
-"*@@ c #323233332b2b",
-"=@@ c #303031312c2c",
-"-@@ c #303030302e2e",
-";@@ c #313131312f2f",
-":@@ c #313132322c2c",
-">@@ c #313132322d2d",
-",@@ c #323233332d2d",
-"<@@ c #323233332e2e",
-"1@@ c #313134342929",
-"2@@ c #313134342b2b",
-"3@@ c #303036362828",
-"4@@ c #313137372929",
-"5@@ c #303036362a2a",
-"6@@ c #313137372b2b",
-"7@@ c #323234342929",
-"8@@ c #333335352828",
-"9@@ c #323235352a2a",
-"0@@ c #333335352a2a",
-"q@@ c #323236362828",
-"w@@ c #333337372828",
-"e@@ c #333337372929",
-"r@@ c #333336362b2b",
-"t@@ c #313134342d2d",
-"y@@ c #303035352e2e",
-"u@@ c #303035352f2f",
-"i@@ c #303036362c2c",
-"p@@ c #313137372d2d",
-"a@@ c #303037372f2f",
-"s@@ c #313136362f2f",
-"d@@ c #323235352c2c",
-"f@@ c #333334342c2c",
-"g@@ c #323235352e2e",
-"h@@ c #333334342e2e",
-"j@@ c #333334342f2f",
-"k@@ c #333336362d2d",
-"l@@ c #353530302d2d",
-"z@@ c #343430302f2f",
-"x@@ c #353532322d2d",
-"c@@ c #363631312d2d",
-"v@@ c #363631312e2e",
-"b@@ c #363633332e2e",
-"n@@ c #343436362828",
-"m@@ c #353537372929",
-"M@@ c #343436362b2b",
-"N@@ c #353537372a2a",
-"B@@ c #343435352d2d",
-"V@@ c #343435352f2f",
-"C@@ c #343437372c2c",
-"Z@@ c #353537372c2c",
-"A@@ c #343437372e2e",
-"S@@ c #353536362e2e",
-"D@@ c #373734342f2f",
-"F@@ c #363637372f2f",
-"G@@ c #313138382626",
-"H@@ c #323239392727",
-"J@@ c #33333b3b2626",
-"K@@ c #353538382525",
-"L@@ c #343438382727",
-"P@@ c #353538382727",
-"I@@ c #35353a3a2626",
-"U@@ c #363639392626",
-"Y@@ c #303038382929",
-"T@@ c #313138382828",
-"R@@ c #323239392929",
-"E@@ c #323238382a2a",
-"W@@ c #333339392b2b",
-"Q@@ c #33333a3a2828",
-"!@@ c #32323a3a2b2b",
-"~@@ c #32323b3b2a2a",
-"^@@ c #33333a3a2a2a",
-"/@@ c #313139392c2c",
-"(@@ c #313139392e2e",
-")@@ c #323238382c2c",
-"_@@ c #333339392d2d",
-"`@@ c #323238382e2e",
-"'@@ c #333339392f2f",
-"]@@ c #33333b3b2c2c",
-"[@@ c #32323a3a2f2f",
-"{@@ c #33333b3b2e2e",
-"}@@ c #353539392a2a",
-"|@@ c #34343b3b2929",
-" #@ c #34343b3b2b2b",
-".#@ c #363638382a2a",
-"X#@ c #363638382b2b",
-"o#@ c #373739392b2b",
-"O#@ c #37373a3a2929",
-"+#@ c #353538382f2f",
-"@#@ c #34343a3a2c2c",
-"### c #35353b3b2d2d",
-"$## c #34343a3a2e2e",
-"%## c #35353b3b2f2f",
-"# c #363638382d2d",
-"*## c #373739392c2c",
-"=## c #363639392e2e",
-"-## c #373739392e2e",
-";## c #36363a3a2c2c",
-":## c #37373b3b2d2d",
-">## c #35353d3d2828",
-",## c #35353c3c2a2a",
-"<## c #36363d3d2b2b",
-"1## c #36363e3e2929",
-"2## c #34343d3d2c2c",
-"3## c #35353c3c2c2c",
-"4## c #34343c3c2f2f",
-"5## c #35353d3d2e2e",
-"6## c #35353e3e2d2d",
-"7## c #36363d3d2d2d",
-"8## c #36363c3c2e2e",
-"9## c #37373d3d2f2f",
-"0## c #37373e3e2c2c",
-"q## c #36363e3e2f2f",
-"w## c #36363f3f2e2e",
-"e## c #37373e3e2e2e",
-"r## c #383833332f2f",
-"t## c #39393c3c2727",
-"y## c #39393d3d2626",
-"u## c #3a3a3e3e2727",
-"i## c #38383b3b2828",
-"p## c #38383b3b2a2a",
-"a## c #38383a3a2c2c",
-"s## c #38383a3a2d2d",
-"d## c #39393b3b2d2d",
-"f## c #38383a3a2f2f",
-"g## c #39393b3b2e2e",
-"h## c #3a3a3a3a2e2e",
-"j## c #3b3b3b3b2f2f",
-"k## c #38383c3c2b2b",
-"l## c #39393c3c2b2b",
-"z## c #39393e3e2828",
-"x## c #3a3a3d3d2828",
-"c## c #3a3a3d3d2a2a",
-"v## c #3b3b3e3e2929",
-"b## c #3a3a3f3f2b2b",
-"n## c #3b3b3e3e2b2b",
-"m## c #39393d3d2c2c",
-"M## c #38383c3c2e2e",
-"N## c #39393d3d2f2f",
-"B## c #38383f3f2f2f",
-"V## c #3a3a3d3d2c2c",
-"C## c #3a3a3c3c2e2e",
-"Z## c #3a3a3c3c2f2f",
-"A## c #3b3b3d3d2f2f",
-"S## c #3a3a3e3e2d2d",
-"D## c #3b3b3e3e2d2d",
-"F## c #3c3c3f3f2a2a",
-"G## c #3c3c3f3f2c2c",
-"H## c #3c3c3f3f2e2e",
-"J## c #3e3e3f3f2f2f",
-"K## c Gray19",
-"L## c #313131313131",
-"P## c #313131313333",
-"I## c #323232323030",
-"U## c #333333333131",
-"Y## c #323232323232",
-"T## c Gray20",
-"R## c #313130303535",
-"E## c #303035353131",
-"W## c #303034343333",
-"Q## c #303037373030",
-"!## c #313136363030",
-"~## c #303036363232",
-"^## c #313136363232",
-"/## c #323237373030",
-"(## c #323237373131",
-")## c #323237373333",
-"_## c #313135353434",
-"`## c #323236363535",
-"'## c #333337373636",
-"]## c #343435353030",
-"[## c #343434343232",
-"{## c #343436363131",
-"}## c #343437373030",
-"|## c #353536363030",
-" $# c #353536363131",
-".$# c #343436363333",
-"X$# c #353537373232",
-"o$# c #363637373131",
-"O$# c #373736363131",
-"+$# c #363637373232",
-"@$# c #343434343434",
-"#$# c #353535353535",
-"$$$ c #353535353737",
-"%$$ c #353537373434",
-"&$$ c #363636363434",
-"*$$ c #373737373535",
-"=$$ c Gray21",
-"-$$ c #373737373737",
-";$$ c #363635353a3a",
-":$$ c #373737373939",
-">$$ c #313138383030",
-",$$ c #313138383131",
-"<$$ c #323239393131",
-"1$$ c #333338383131",
-"2$$ c #323239393232",
-"3$$ c #333338383232",
-"4$$ c #33333b3b3030",
-"5$$ c #33333a3a3232",
-"6$$ c #333338383434",
-"7$$ c #353538383131",
-"8$$ c #343439393232",
-"9$$ c #343439393333",
-"0$$ c #34343a3a3030",
-"q$$ c #35353b3b3131",
-"w$$ c #34343b3b3333",
-"e$$ c #35353a3a3333",
-"r$$ c #363639393030",
-"t$$ c #373738383030",
-"y$$ c #363638383333",
-"u$$ c #363639393232",
-"i$$ c #373738383232",
-"p$$ c #373738383333",
-"a$$ c #37373a3a3131",
-"s$$ c #37373a3a3333",
-"d$$ c #343439393535",
-"f$$ c #343438383737",
-"g$$ c #35353a3a3434",
-"h$$ c #35353a3a3636",
-"j$$ c #363638383535",
-"k$$ c #373739393434",
-"l$$ c #373739393636",
-"z$$ c #36363b3b3434",
-"x$$ c #36363b3b3535",
-"c$$ c #36363b3b3737",
-"v$$ c #35353d3d3232",
-"b$$ c #36363c3c3030",
-"n$$ c #37373d3d3131",
-"m$$ c #36363c3c3232",
-"M$$ c #37373d3d3333",
-"N$$ c #36363e3e3131",
-"B$$ c #37373f3f3030",
-"V$$ c #36363e3e3333",
-"C$$ c #37373f3f3232",
-"Z$$ c #36363d3d3535",
-"A$$ c #37373c3c3535",
-"S$$ c #37373c3c3636",
-"D$$ c #37373f3f3434",
-"F$$ c #353539393838",
-"G$$ c #36363a3a3939",
-"H$$ c #37373b3b3a3a",
-"J$$ c #383835353030",
-"K$$ c #393934343030",
-"L$$ c #383837373232",
-"P$$ c #3a3a35353131",
-"I$$ c #3a3a37373232",
-"U$$ c #3c3c37373333",
-"Y$$ c #383839393131",
-"T$$ c #383839393333",
-"R$$ c #38383b3b3030",
-"E$$ c #39393b3b3030",
-"W$$ c #38383b3b3232",
-"Q$$ c #39393a3a3232",
-"!$$ c #3b3b38383333",
-"~$$ c #3b3b3b3b3131",
-"^$$ c #3a3a3a3a3232",
-"/$$ c #3a3a3b3b3333",
-"($$ c #3b3b3b3b3333",
-")$$ c #383839393434",
-"_$$ c #393939393737",
-"`$$ c #38383a3a3535",
-"'$$ c #38383b3b3434",
-"]$$ c #39393a3a3434",
-"[$$ c #39393a3a3535",
-"{$$ c #38383a3a3737",
-"}$$ c #39393b3b3636",
-"|$$ c #3a3a3b3b3535",
-" %$ c #3b3b3a3a3535",
-".%$ c #3a3a3b3b3636",
-"X%$ c #39393c3c3333",
-"o%$ c #38383e3e3030",
-"O%$ c #39393f3f3131",
-"+%$ c #38383e3e3232",
-"@%$ c #39393f3f3333",
-"#%$ c #3a3a3c3c3131",
-"$%$ c #3b3b3d3d3030",
-"%%% c #3a3a3d3d3232",
-"&%% c #3b3b3d3d3232",
-"*%% c #3a3a3e3e3030",
-"=%% c #3b3b3e3e3333",
-"-%% c #39393c3c3535",
-";%% c #38383d3d3636",
-":%% c #38383e3e3434",
-">%% c #39393f3f3535",
-",%% c #39393e3e3737",
-"<%% c #3a3a3d3d3434",
-"1%% c #3b3b3c3c3434",
-"2%% c #3a3a3c3c3737",
-"3%% c #3a3a3d3d3636",
-"4%% c #3b3b3c3c3636",
-"5%% c #3b3b3c3c3737",
-"6%% c #3b3b3e3e3535",
-"7%% c #3b3b3e3e3737",
-"8%% c #3c3c39393434",
-"9%% c #3d3d3a3a3535",
-"0%% c #3e3e3b3b3434",
-"q%% c #3e3e3b3b3636",
-"w%% c #3c3c3c3c3030",
-"e%% c #3c3c3e3e3030",
-"r%% c #3c3c3e3e3131",
-"t%% c #3d3d3e3e3030",
-"y%% c #3d3d3f3f3131",
-"u%% c #3c3c3e3e3333",
-"i%% c #3d3d3f3f3232",
-"p%% c #3f3f3f3f3333",
-"a%% c #3c3c3c3c3434",
-"s%% c #3c3c3d3d3535",
-"d%% c #3d3d3d3d3535",
-"f%% c #3c3c3d3d3737",
-"g%% c #3d3d3c3c3737",
-"h%% c #3d3d3f3f3434",
-"j%% c #3c3c3f3f3636",
-"k%% c #3d3d3e3e3636",
-"l%% c #3f3f3c3c3535",
-"z%% c #3f3f3c3c3737",
-"x%% c #3f3f3f3f3535",
-"c%% c #3e3e3e3e3636",
-"v%% c #3e3e3f3f3737",
-"b%% c #3f3f3f3f3737",
-"n%% c Gray22",
-"m%% c #393939393939",
-"M%% c #39393b3b3838",
-"N%% c #3a3a3a3a3838",
-"B%% c #3b3b3b3b3939",
-"V%% c #3a3a3a3a3a3a",
-"C%% c Gray23",
-"Z%% c #3a3a39393e3e",
-"A%% c #3b3b3b3b3d3d",
-"S%% c #38383c3c3b3b",
-"D%% c #38383f3f3838",
-"F%% c #39393e3e3838",
-"G%% c #39393e3e3a3a",
-"H%% c #3a3a3c3c3939",
-"J%% c #3b3b3d3d3838",
-"K%% c #3b3b3d3d3a3a",
-"L%% c #3a3a3f3f3838",
-"P%% c #3a3a3f3f3939",
-"I%% c #3a3a3f3f3b3b",
-"U%% c #39393d3d3c3c",
-"Y%% c #39393d3d3e3e",
-"T%% c #3a3a3e3e3d3d",
-"R%% c #3b3b3f3f3e3e",
-"E%% c #3c3c3d3d3838",
-"W%% c #3c3c3c3c3a3a",
-"Q%% c #3d3d3d3d3b3b",
-"!%% c #3c3c3e3e3939",
-"~%% c #3c3c3f3f3838",
-"^%% c #3d3d3e3e3838",
-"/%% c #3d3d3e3e3939",
-"(%% c #3d3d3f3f3a3a",
-")%% c #3e3e3d3d3838",
-"_%% c #3e3e3f3f3939",
-"`%% c #3e3e3f3f3a3a",
-"'%% c #3c3c3c3c3c3c",
-"]%% c Gray24",
-"[%% c #3c3c3c3c3e3e",
-"{%% c #3d3d3d3d3f3f",
-"}%% c #3e3e3e3e3e3e",
-"|%% c #3f3f3f3f3f3f",
-" &% c #3d3d3c3c4141",
-".&% c #3f3f3e3e4343",
-"X&% c #373740402b2b",
-"o&% c #373743432f2f",
-"O&% c #3a3a43432626",
-"+&% c #3a3a45452727",
-"@&% c #383840402b2b",
-"#&% c #3a3a42422b2b",
-"$&% c #393941412c2c",
-"%&% c #383841412e2e",
-"&&& c #393940402e2e",
-"*&& c #393942422f2f",
-"=&& c #3b3b40402c2c",
-"-&& c #3a3a41412f2f",
-";&& c #3a3a42422d2d",
-":&& c #3b3b43432e2e",
-">&& c #3b3b44442929",
-",&& c #3b3b46462828",
-"<&& c #3d3d41412a2a",
-"1&& c #3e3e42422b2b",
-"2&& c #3c3c41412d2d",
-"3&& c #3d3d40402f2f",
-"4&& c #3d3d42422e2e",
-"5&& c #3e3e41412e2e",
-"6&& c #3f3f42422d2d",
-"7&& c #3f3f43432c2c",
-"8&& c #3d3d46462b2b",
-"9&& c #3e3e47472a2a",
-"0&& c #3c3c44442d2d",
-"q&& c #3c3c44442f2f",
-"w&& c #3d3d45452e2e",
-"e&& c #3d3d47472c2c",
-"r&& c #3d3d47472e2e",
-"t&& c #3f3f47472f2f",
-"y&& c #3f3f49492e2e",
-"u&& c #363641413131",
-"i&& c #383841413030",
-"p&& c #393940403030",
-"a&& c #383840403333",
-"s&& c #393941413232",
-"d&& c #393942423131",
-"f&& c #3a3a41413131",
-"g&& c #3a3a40403232",
-"h&& c #3b3b41413333",
-"j&& c #3a3a43433030",
-"k&& c #3b3b42423030",
-"l&& c #3a3a42423333",
-"z&& c #3b3b42423232",
-"x&& c #383840403535",
-"c&& c #393941413434",
-"v&& c #393941413636",
-"b&& c #3a3a40403434",
-"n&& c #3b3b41413535",
-"m&& c #3a3a40403636",
-"M&& c #3b3b41413737",
-"N&& c #3a3a42423535",
-"B&& c #3b3b43433434",
-"V&& c #3a3a42423737",
-"C&& c #3b3b43433636",
-"Z&& c #3b3b44443131",
-"A&& c #3b3b44443333",
-"S&& c #3a3a46463232",
-"D&& c #393944443434",
-"F&& c #3c3c40403131",
-"G&& c #3d3d41413232",
-"H&& c #3d3d41413333",
-"J&& c #3c3c43433131",
-"K&& c #3c3c43433333",
-"L&& c #3e3e41413030",
-"P&& c #3f3f40403030",
-"I&& c #3e3e40403232",
-"U&& c #3e3e40403333",
-"Y&& c #3f3f40403232",
-"T&& c #3f3f41413333",
-"R&& c #3e3e42423131",
-"E&& c #3f3f42423131",
-"W&& c #3e3e42423333",
-"Q&& c #3f3f43433232",
-"!&& c #3d3d40403535",
-"~&& c #3d3d40403737",
-"^&& c #3c3c42423434",
-"/&& c #3d3d43433535",
-"(&& c #3c3c42423636",
-")&& c #3d3d43433737",
-"_&& c #3e3e40403535",
-"`&& c #3f3f41413434",
-"'&& c #3e3e41413636",
-"]&& c #3f3f41413636",
-"[&& c #3e3e42423434",
-"{&& c #3f3f43433434",
-"}&& c #3f3f43433535",
-"|&& c #3f3f42423737",
-" *& c #3d3d44443232",
-".*& c #3f3f44443030",
-"X*& c #3e3e45453333",
-"o*& c #3e3e46463131",
-"O*& c #3f3f47473232",
-"+*& c #3c3c44443535",
-"@*& c #3c3c45453434",
-"#*& c #3d3d44443434",
-"$*& c #3c3c44443737",
-"%*& c #3d3d45453636",
-"&*& c #3c3c47473636",
-"*** c #3e3e45453535",
-"=** c #3e3e44443636",
-"-** c #3f3f45453737",
-";** c #3e3e47473434",
-":** c #3f3f46463434",
-">** c #3e3e46463737",
-",** c #3e3e47473636",
-"<** c #3f3f46463636",
-"1** c #393940403838",
-"2** c #3b3b40403939",
-"3** c #3a3a41413a3a",
-"4** c #3b3b40403a3a",
-"5** c #3b3b43433838",
-"6** c #3b3b42423b3b",
-"7** c #3d3d40403939",
-"8** c #3c3c41413a3a",
-"9** c #3c3c41413b3b",
-"0** c #3c3c42423838",
-"q** c #3d3d43433939",
-"w** c #3d3d42423b3b",
-"e** c #3e3e41413838",
-"r** c #3f3f40403838",
-"t** c #3e3e40403b3b",
-"y** c #3e3e41413a3a",
-"u** c #3f3f40403a3a",
-"i** c #3f3f40403b3b",
-"p** c #3f3f42423939",
-"a** c #3f3f42423b3b",
-"s** c #3c3c41413d3d",
-"d** c #3c3c40403f3f",
-"f** c #3c3c43433c3c",
-"g** c #3d3d42423c3c",
-"h** c #3d3d42423e3e",
-"j** c #3f3f41413c3c",
-"k** c #3e3e43433c3c",
-"l** c #3e3e43433d3d",
-"z** c #3e3e43433f3f",
-"x** c #3c3c44443939",
-"c** c #3d3d45453838",
-"v** c #3d3d45453a3a",
-"b** c #3e3e44443838",
-"n** c #3f3f45453939",
-"m** c #3e3e44443a3a",
-"M** c #3f3f45453b3b",
-"N** c #3f3f47473838",
-"B** c #3f3f47473a3a",
-"V** c #3d3d44443d3d",
-"C** c #3f3f44443d3d",
-"Z** c #3e3e45453e3e",
-"A** c #3f3f44443e3e",
-"S** c #3f3f46463f3f",
-"D** c #3c3c48483030",
-"F** c #3d3d49493333",
-"G** c #3d3d4a4a3030",
-"H** c #3f3f48483333",
-"J** c #3f3f4b4b3333",
-"K** c #3f3f48483535",
-"L** c #3a3a40404040",
-"P** c #3f3f43434242",
-"I** c #3f3f44444040",
-"U** c #40403d3d3636",
-"Y** c #41413e3e3737",
-"T** c #40403c3c3939",
-"R** c #40403d3d3838",
-"E** c #41413e3e3939",
-"W** c #42423f3f3838",
-"Q** c #42423f3f3a3a",
-"!** c #414141412929",
-"~** c #404044442d2d",
-"^** c #414144442f2f",
-"/** c #414145452e2e",
-"(** c #404046462c2c",
-")** c #414147472d2d",
-"_** c #424246462d2d",
-"`** c #434347472e2e",
-"'** c #454545452b2b",
-"]** c #464646462e2e",
-"[** c #40404a4a2727",
-"{** c #43434f4f2727",
-"}** c #404049492c2c",
-"|** c #404049492e2e",
-" =* c #41414a4a2f2f",
-".=* c #444448482f2f",
-"X=* c #44444a4a2e2e",
-"o=* c #45454c4c2d2d",
-"O=* c #44444e4e2c2c",
-"+=* c #46464d4d2e2e",
-"@=* c #47474c4c2e2e",
-"#=* c #47474e4e2f2f",
-"$=* c #48484d4d2f2f",
-"%=* c #404041413131",
-"&=* c #404041413333",
-"*=* c #404043433232",
-"=== c #414142423232",
-"-== c #404040403434",
-";== c #404040403636",
-":== c #404042423434",
-">== c #414142423434",
-",== c #414143433535",
-"<== c #404042423737",
-"1== c #414143433636",
-"2== c #434341413535",
-"3== c #404045453131",
-"4== c #414144443131",
-"5== c #404044443333",
-"6== c #414144443333",
-"7== c #424245453030",
-"8== c #424245453232",
-"9== c #424247473131",
-"0== c #434346463131",
-"q== c #424247473333",
-"w== c #404044443535",
-"e== c #404044443636",
-"r== c #404047473535",
-"t== c #404047473737",
-"y== c #424245453434",
-"u== c #424244443636",
-"i== c #424244443737",
-"p== c #434345453737",
-"a== c #424246463535",
-"s== c #434346463535",
-"d== c #434347473636",
-"f== c #464643433434",
-"g== c #474743433737",
-"h== c #444447473232",
-"j== c #464645453131",
-"k== c #474744443333",
-"l== c #444447473434",
-"z== c #444447473636",
-"x== c #464644443737",
-"c== c #404040403838",
-"v== c #404041413939",
-"b== c #404041413b3b",
-"n== c #414140403b3b",
-"m== c #404043433838",
-"M== c #414143433838",
-"N== c #404043433a3a",
-"B== c #414142423a3a",
-"V== c #434340403939",
-"C== c #434340403b3b",
-"Z== c #424242423838",
-"A== c #434343433939",
-"S== c #424242423a3a",
-"D== c #424243433b3b",
-"F== c #404041413c3c",
-"G== c #404040403e3e",
-"H== c #404042423d3d",
-"J== c #404043433c3c",
-"K== c #414142423c3c",
-"L== c #414142423d3d",
-"P== c #414143433e3e",
-"I== c #424241413c3c",
-"U== c #424241413d3d",
-"Y== c #424243433d3d",
-"T== c #434342423d3d",
-"R== c #424243433e3e",
-"E== c #414144443939",
-"W== c #404046463838",
-"Q== c #414147473939",
-"!== c #404046463a3a",
-"~== c #414147473b3b",
-"^== c #424244443939",
-"/== c #434345453838",
-"(== c #424245453a3a",
-")== c #434345453a3a",
-"_== c #434347473838",
-"`== c #434347473939",
-"'== c #414144443d3d",
-"]== c #404045453f3f",
-"[== c #404046463c3c",
-"{== c #414146463f3f",
-"}== c #424245453c3c",
-"|== c #434344443c3c",
-" -= c #424244443f3f",
-".-= c #434344443e3e",
-"X-= c #434344443f3f",
-"o-= c #434346463d3d",
-"O-= c #444441413838",
-"+-= c #444441413c3c",
-"@-= c #444443433e3e",
-"#-= c #444443433f3f",
-"$-= c #464643433c3c",
-"%-= c #474742423c3c",
-"&-= c #444444443838",
-"*-= c #454545453939",
-"=-= c #444444443a3a",
-"--- c #454545453b3b",
-";-- c #444446463838",
-":-- c #444446463939",
-">-- c #454547473939",
-",-- c #444446463b3b",
-"<-- c #454547473a3a",
-"1-- c #464644443838",
-"2-- c #464646463a3a",
-"3-- c #444445453d3d",
-"4-- c #444445453f3f",
-"5-- c #454544443f3f",
-"6-- c #454547473c3c",
-"7-- c #444447473e3e",
-"8-- c #454546463e3e",
-"9-- c #474744443d3d",
-"0-- c #464646463c3c",
-"q-- c #474747473d3d",
-"w-- c #464646463e3e",
-"e-- c #464647473f3f",
-"r-- c #404048483131",
-"t-- c #404048483333",
-"y-- c #414149493232",
-"u-- c #40404a4a3232",
-"i-- c #434348483232",
-"p-- c #42424b4b3030",
-"a-- c #42424a4a3333",
-"s-- c #43434b4b3333",
-"d-- c #414149493434",
-"f-- c #404049493636",
-"g-- c #414148483636",
-"h-- c #41414a4a3737",
-"j-- c #434348483434",
-"k-- c #424249493737",
-"l-- c #42424a4a3535",
-"z-- c #43434b4b3434",
-"x-- c #43434b4b3636",
-"c-- c #43434d4d3535",
-"v-- c #444448483131",
-"b-- c #454548483333",
-"n-- c #454549493232",
-"m-- c #45454b4b3131",
-"M-- c #45454a4a3333",
-"N-- c #46464a4a3131",
-"B-- c #454548483535",
-"V-- c #454548483737",
-"C-- c #45454a4a3636",
-"Z-- c #464649493434",
-"A-- c #464649493636",
-"S-- c #46464b4b3535",
-"D-- c #47474b4b3434",
-"F-- c #44444d4d3030",
-"G-- c #44444f4f3131",
-"H-- c #44444e4e3333",
-"J-- c #45454e4e3333",
-"K-- c #47474d4d3131",
-"L-- c #46464c4c3232",
-"P-- c #46464f4f3232",
-"I-- c #44444c4c3434",
-"U-- c #45454d4d3535",
-"Y-- c #44444c4c3737",
-"T-- c #45454d4d3636",
-"R-- c #47474c4c3636",
-"E-- c #46464f4f3434",
-"W-- c #46464e4e3636",
-"Q-- c #46464e4e3737",
-"!-- c #47474f4f3737",
-"~-- c #404049493838",
-"^-- c #414148483838",
-"/-- c #404048483b3b",
-"(-- c #414149493a3a",
-")-- c #424249493939",
-"_-- c #424248483a3a",
-"`-- c #434349493b3b",
-"'-- c #43434a4a3838",
-"]-- c #43434a4a3a3a",
-"[-- c #414149493c3c",
-"{-- c #414149493e3e",
-"}-- c #424248483c3c",
-"|-- c #434349493d3d",
-" ;- c #424248483e3e",
-".;- c #434349493f3f",
-"X;- c #42424a4a3d3d",
-"o;- c #42424a4a3f3f",
-"O;- c #43434c4c3b3b",
-"+;- c #42424e4e3838",
-"@;- c #42424d4d3c3c",
-"#;- c #444448483939",
-"$;- c #454549493838",
-"%;- c #444448483a3a",
-"&;- c #454549493b3b",
-"*;- c #44444b4b3939",
-"=;- c #44444b4b3b3b",
-"-;- c #464649493838",
-";;; c #464648483a3a",
-":;; c #464648483b3b",
-">;; c #474749493b3b",
-",;; c #46464a4a3939",
-"<;; c #47474a4a3939",
-"1;; c #47474b4b3a3a",
-"2;; c #454548483d3d",
-"3;; c #44444a4a3c3c",
-"4;; c #45454b4b3d3d",
-"5;; c #44444a4a3e3e",
-"6;; c #45454b4b3f3f",
-"7;; c #464648483d3d",
-"8;; c #464649493e3e",
-"9;; c #474749493e3e",
-"0;; c #46464a4a3c3c",
-"q;; c #47474b4b3c3c",
-"w;; c #47474b4b3d3d",
-"e;; c #47474a4a3f3f",
-"r;; c #44444d4d3838",
-"t;; c #45454d4d3838",
-"y;; c #44444d4d3a3a",
-"u;; c #45454c4c3a3a",
-"i;; c #45454e4e3b3b",
-"p;; c #46464d4d3b3b",
-"a;; c #46464e4e3939",
-"s;; c #47474f4f3838",
-"d;; c #44444c4c3d3d",
-"f;; c #45454c4c3c3c",
-"g;; c #44444c4c3f3f",
-"h;; c #45454d4d3e3e",
-"j;; c #46464d4d3d3d",
-"k;; c #46464c4c3e3e",
-"l;; c #47474d4d3f3f",
-"z;; c #46464f4f3c3c",
-"x;; c #47474e4e3c3c",
-"c;; c #46464e4e3f3f",
-"v;; c #46464f4f3e3e",
-"b;; c #47474e4e3e3e",
-"n;; c #484847473535",
-"m;; c #484843433d3d",
-"M;; c #484844443939",
-"N;; c #484846463939",
-"B;; c #494947473838",
-"V;; c #494947473a3a",
-"C;; c #4a4a46463a3a",
-"Z;; c #484845453c3c",
-"A;; c #494945453c3c",
-"S;; c #494944443e3e",
-"D;; c #4a4a46463d3d",
-"F;; c #4b4b47473c3c",
-"G;; c #494948483333",
-"H;; c #48484b4b3636",
-"J;; c #4a4a49493737",
-"K;; c #48484c4c3333",
-"L;; c #49494d4d3232",
-"P;; c #48484f4f3030",
-"I;; c #49494e4e3030",
-"U;; c #4a4a4f4f3131",
-"Y;; c #48484c4c3535",
-"T;; c #49494d4d3434",
-"R;; c #48484d4d3737",
-"E;; c #49494c4c3737",
-"W;; c #4a4a4e4e3535",
-"Q;; c #4b4b4f4f3434",
-"!;; c #4a4a4e4e3737",
-"~;; c #4b4b4f4f3636",
-"^;; c #4d4d4d4d3333",
-"/;; c #4f4f4f4f3535",
-"(;; c #48484b4b3838",
-");; c #48484b4b3a3a",
-"_;; c #4b4b48483939",
-"`;; c #4b4b49493a3a",
-"';; c #484848483c3c",
-"];; c #494949493d3d",
-"[;; c #484848483e3e",
-"{;; c #494949493f3f",
-"};; c #48484a4a3c3c",
-"|;; c #48484a4a3d3d",
-" :; c #49494a4a3c3c",
-".:; c #49494b4b3d3d",
-"X:; c #48484a4a3f3f",
-"o:; c #49494b4b3e3e",
-"O:; c #4a4a48483c3c",
-"+:; c #4a4a4a4a3e3e",
-"@:; c #4b4b4b4b3f3f",
-"#:; c #48484d4d3939",
-"$:; c #49494c4c3939",
-"%:; c #48484c4c3b3b",
-"&:; c #49494c4c3b3b",
-"*:; c #49494e4e3a3a",
-"=:; c #4a4a4d4d3838",
-"-:; c #4a4a4d4d3a3a",
-";:; c #4b4b4e4e3939",
-"::: c #4b4b4f4f3838",
-">:: c #4a4a4f4f3b3b",
-",:: c #4b4b4e4e3b3b",
-"<:: c #48484c4c3d3d",
-"1:: c #49494d4d3c3c",
-"2:: c #48484c4c3e3e",
-"3:: c #49494d4d3e3e",
-"4:: c #49494d4d3f3f",
-"5:: c #48484f4f3d3d",
-"6:: c #48484f4f3f3f",
-"7:: c #4a4a4d4d3c3c",
-"8:: c #4a4a4c4c3e3e",
-"9:: c #4a4a4c4c3f3f",
-"0:: c #4b4b4c4c3e3e",
-"q:: c #4b4b4d4d3f3f",
-"w:: c #4b4b4e4e3d3d",
-"e:: c #4a4a4e4e3f3f",
-"r:: c #4b4b4f4f3e3e",
-"t:: c #4d4d4a4a3b3b",
-"y:: c #4c4c4a4a3d3d",
-"u:: c #4d4d4b4b3c3c",
-"i:: c #4c4c4a4a3e3e",
-"p:: c #4d4d4b4b3e3e",
-"a:: c #4c4c4f4f3a3a",
-"s:: c #4f4f4d4d3838",
-"d:: c #4f4f4c4c3b3b",
-"f:: c #4f4f4e4e3939",
-"g:: c #4f4f4e4e3a3a",
-"h:: c #4c4c4d4d3d3d",
-"j:: c #4c4c4d4d3f3f",
-"k:: c #4c4c4f4f3c3c",
-"l:: c #4c4c4f4f3e3e",
-"z:: c #4d4d4e4e3e3e",
-"x:: c #4e4e4c4c3f3f",
-"c:: c #4e4e4f4f3f3f",
-"v:: c #464650502d2d",
-"b:: c #4a4a50502e2e",
-"n:: c #4b4b51512f2f",
-"m:: c #4a4a52522d2d",
-"M:: c #494954542c2c",
-"N:: c #4a4a57572c2c",
-"B:: c #4d4d53532f2f",
-"V:: c #4d4d54542b2b",
-"C:: c #4e4e55552c2c",
-"Z:: c #4e4e54542e2e",
-"A:: c #4f4f55552f2f",
-"S:: c #414150503333",
-"D:: c #434352523535",
-"F:: c #464651513333",
-"G:: c #444453533636",
-"H:: c #474750503535",
-"J:: c #454552523838",
-"K:: c #474751513838",
-"L:: c #474753533b3b",
-"P:: c #454551513d3d",
-"I:: c #474750503f3f",
-"U:: c #494950503131",
-"Y:: c #484851513232",
-"T:: c #4b4b50503030",
-"R:: c #4a4a51513232",
-"E:: c #4b4b50503232",
-"W:: c #4b4b52523030",
-"Q:: c #4b4b52523131",
-"!:: c #4b4b52523333",
-"~:: c #4a4a53533636",
-"^:: c #4b4b55553030",
-"/:: c #4a4a54543232",
-"(:: c #4b4b55553232",
-"):: c #4b4b55553333",
-"_:: c #4b4b54543535",
-"`:: c #4b4b54543737",
-"':: c #4b4b56563434",
-"]:: c #4c4c51513131",
-"[:: c #4c4c51513333",
-"{:: c #4c4c52523030",
-"}:: c #4d4d53533131",
-"|:: c #4e4e53533333",
-" >: c #4c4c50503535",
-".>: c #4c4c50503737",
-"X>: c #4d4d51513636",
-"o>: c #4c4c53533434",
-"O>: c #4d4d52523434",
-"+>: c #4c4c52523636",
-"@>: c #4e4e53533535",
-"#>: c #4d4d54543232",
-"$>: c #4c4c56563131",
-"%>: c #4c4c56563333",
-"&>: c #4d4d57573232",
-"*>: c #4e4e54543232",
-"=>: c #4f4f55553333",
-"->: c #4d4d54543535",
-";>: c #4c4c56563434",
-":>: c #4d4d57573535",
-">>> c #4d4d56563737",
-",>> c #4e4e55553434",
-"<>> c #4f4f54543434",
-"1>> c #4e4e55553636",
-"2>> c #4f4f54543636",
-"3>> c #4f4f56563434",
-"4>> c #4f4f56563737",
-"5>> c #494951513a3a",
-"6>> c #494953533838",
-"7>> c #484852523a3a",
-"8>> c #4b4b50503a3a",
-"9>> c #4a4a53533838",
-"0>> c #4a4a52523a3a",
-"q>> c #4a4a52523b3b",
-"w>> c #4b4b53533b3b",
-"e>> c #484851513c3c",
-"r>> c #484851513e3e",
-"t>> c #494950503e3e",
-"y>> c #4b4b50503c3c",
-"u>> c #4a4a51513f3f",
-"i>> c #4a4a52523d3d",
-"p>> c #4b4b53533e3e",
-"a>> c #4b4b55553c3c",
-"s>> c #4b4b55553d3d",
-"d>> c #4c4c50503939",
-"f>> c #4d4d51513838",
-"g>> c #4d4d50503b3b",
-"h>> c #4d4d51513a3a",
-"j>> c #4d4d53533939",
-"k>> c #4e4e52523939",
-"l>> c #4f4f53533838",
-"z>> c #4f4f53533a3a",
-"x>> c #4c4c51513d3d",
-"c>> c #4d4d50503d3d",
-"v>> c #4c4c50503f3f",
-"b>> c #4d4d50503f3f",
-"n>> c #4d4d52523e3e",
-"m>> c #4e4e51513c3c",
-"M>> c #4e4e51513e3e",
-"N>> c #4e4e53533c3c",
-"B>> c #4e4e53533d3d",
-"V>> c #4f4f52523d3d",
-"C>> c #4f4f53533c3c",
-"Z>> c #4e4e53533f3f",
-"A>> c #4f4f52523f3f",
-"S>> c #4c4c55553838",
-"D>> c #4c4c55553a3a",
-"F>> c #4d4d56563939",
-"G>> c #4c4c56563b3b",
-"H>> c #4e4e57573838",
-"J>> c #4e4e57573a3a",
-"K>> c #4c4c54543c3c",
-"L>> c #4c4c54543d3d",
-"P>> c #4d4d55553d3d",
-"I>> c #4c4c54543f3f",
-"U>> c #4d4d55553e3e",
-"Y>> c #4f4f54543e3e",
-"T>> c #4e4e57573c3c",
-"R>> c #4e4e56563e3e",
-"E>> c #4e4e56563f3f",
-"W>> c #4f4f57573f3f",
-"Q>> c #4c4c58583030",
-"!>> c #4d4d59593333",
-"~>> c #4f4f5b5b3333",
-"^>> c #4e4e58583636",
-"/>> c #4e4e59593737",
-"(>> c #4f4f59593636",
-")>> c #4f4f59593737",
-"_>> c #4e4e59593939",
-"`>> c #4f4f58583939",
-"'>> c #4f4f58583b3b",
-"]>> c #4f4f5a5a3838",
-"[>> c #4c4c59593d3d",
-"{>> c #4e4e58583d3d",
-"}>> c #4f4f59593e3e",
-"|>> c #4e4e5d5d3e3e",
-" ,> c #51514c4c3838",
-".,> c #50504d4d3a3a",
-"X,> c #50504f4f3d3d",
-"o,> c #50504e4e3f3f",
-"O,> c #52524f4f3e3e",
-"+,> c #505058582929",
-"@,> c #515158582f2f",
-"#,> c #51515f5f2c2c",
-"$,> c #54545b5b2f2f",
-"%,> c #55555d5d2a2a",
-"&,> c #58585e5e2e2e",
-"*,> c #515151513737",
-"=,> c #525250503737",
-"-,> c #505055553535",
-";,> c #515154543535",
-":,> c #505055553737",
-">,> c #505056563434",
-",,, c #505057573535",
-"<,, c #515157573535",
-"1,, c #515156563636",
-"2,, c #535357573434",
-"3,, c #525257573737",
-"4,, c #535357573636",
-"5,, c #555556563434",
-"6,, c #555556563636",
-"7,, c #565657573535",
-"8,, c #525250503b3b",
-"9,, c #535353533b3b",
-"0,, c #515150503c3c",
-"q,, c #505051513f3f",
-"w,, c #505053533e3e",
-"e,, c #535352523d3d",
-"r,, c #505054543b3b",
-"t,, c #515155553a3a",
-"y,, c #505057573838",
-"u,, c #515156563838",
-"i,, c #525255553838",
-"p,, c #525257573939",
-"a,, c #525256563b3b",
-"s,, c #505054543d3d",
-"d,, c #515155553c3c",
-"f,, c #505055553e3e",
-"g,, c #515154543f3f",
-"h,, c #515155553e3e",
-"j,, c #515157573d3d",
-"k,, c #515156563f3f",
-"l,, c #525254543c3c",
-"z,, c #525254543e3e",
-"x,, c #525254543f3f",
-"c,, c #525256563d3d",
-"v,, c #535357573c3c",
-"b,, c #525256563f3f",
-"n,, c #535357573e3e",
-"m,, c #565651513b3b",
-"M,, c #555550503c3c",
-"N,, c #545451513e3e",
-"B,, c #545453533e3e",
-"V,, c #545453533f3f",
-"C,, c #555552523f3f",
-"Z,, c #575752523e3e",
-"A,, c #545454543a3a",
-"S,, c #545457573a3a",
-"D,, c #565655553939",
-"F,, c #545454543c3c",
-"G,, c #555554543f3f",
-"H,, c #545456563e3e",
-"J,, c #555557573f3f",
-"K,, c #565656563c3c",
-"L,, c #525259593030",
-"P,, c #515158583737",
-"I,, c #50505a5a3535",
-"U,, c #50505a5a3737",
-"Y,, c #51515b5b3636",
-"T,, c #525258583434",
-"R,, c #535359593535",
-"E,, c #525258583636",
-"W,, c #525259593737",
-"Q,, c #535359593737",
-"!,, c #53535b5b3636",
-"~,, c #50505c5c3636",
-"^,, c #52525d5d3535",
-"/,, c #52525c5c3737",
-"(,, c #52525f5f3434",
-"),, c #53535e5e3636",
-"_,, c #54545b5b3232",
-"`,, c #54545a5a3434",
-"',, c #55555b5b3535",
-"],, c #57575b5b3636",
-"[,, c #55555c5c3333",
-"{,, c #54545c5c3737",
-"},, c #54545f5f3737",
-"|,, c #56565d5d3434",
-" <, c #56565c5c3636",
-".<, c #57575e5e3535",
-"X<, c #515158583939",
-"o<, c #505059593a3a",
-"O<, c #50505a5a3838",
-"+<, c #50505b5b3939",
-"@<, c #51515b5b3838",
-"#<, c #51515b5b3939",
-"$<, c #50505b5b3b3b",
-"%<, c #51515a5a3b3b",
-"&<, c #525259593838",
-"*<, c #535358583838",
-"=<, c #525259593a3a",
-"-<, c #535358583a3a",
-";<, c #53535a5a3838",
-":<, c #53535a5a3939",
-"><, c #53535a5a3b3b",
-",<, c #505059593c3c",
-"<<< c #505059593e3e",
-"1<< c #51515a5a3d3d",
-"2<< c #51515a5a3f3f",
-"3<< c #525258583c3c",
-"4<< c #535359593d3d",
-"5<< c #52525b5b3c3c",
-"6<< c #52525b5b3e3e",
-"7<< c #50505c5c3838",
-"8<< c #51515c5c3a3a",
-"9<< c #52525c5c3939",
-"0<< c #53535d5d3838",
-"q<< c #52525c5c3a3a",
-"w<< c #52525d5d3b3b",
-"e<< c #53535d5d3a3a",
-"r<< c #53535d5d3b3b",
-"t<< c #53535f5f3939",
-"y<< c #52525e5e3a3a",
-"u<< c #53535f5f3b3b",
-"i<< c #51515c5c3c3c",
-"p<< c #51515c5c3e3e",
-"a<< c #53535c5c3d3d",
-"s<< c #53535c5c3f3f",
-"d<< c #53535e5e3c3c",
-"f<< c #53535e5e3e3e",
-"g<< c #545459593939",
-"h<< c #545459593b3b",
-"j<< c #555558583b3b",
-"k<< c #54545a5a3838",
-"l<< c #54545b5b3939",
-"z<< c #55555b5b3939",
-"x<< c #55555a5a3a3a",
-"c<< c #575758583939",
-"v<< c #57575b5b3838",
-"b<< c #56565b5b3b3b",
-"n<< c #57575b5b3a3a",
-"m<< c #545458583d3d",
-"M<< c #555558583d3d",
-"N<< c #545458583f3f",
-"B<< c #555559593e3e",
-"V<< c #54545b5b3c3c",
-"C<< c #55555a5a3c3c",
-"Z<< c #55555b5b3f3f",
-"A<< c #56565b5b3d3d",
-"S<< c #57575a5a3d3d",
-"D<< c #56565a5a3f3f",
-"F<< c #55555c5c3a3a",
-"G<< c #55555c5c3b3b",
-"H<< c #54545e5e3939",
-"J<< c #54545e5e3b3b",
-"K<< c #55555f5f3a3a",
-"L<< c #56565c5c3838",
-"P<< c #57575d5d3939",
-"I<< c #56565c5c3a3a",
-"U<< c #56565d5d3b3b",
-"Y<< c #57575d5d3b3b",
-"T<< c #57575f5f3838",
-"R<< c #57575f5f3a3a",
-"E<< c #55555c5c3d3d",
-"W<< c #54545d5d3e3e",
-"Q<< c #54545e5e3c3c",
-"!<< c #54545f5f3d3d",
-"~<< c #55555f5f3c3c",
-"^<< c #55555f5f3d3d",
-"/<< c #55555e5e3f3f",
-"(<< c #56565d5d3c3c",
-")<< c #57575c5c3c3c",
-"_<< c #56565d5d3e3e",
-"`<< c #57575c5c3e3e",
-"'<< c #57575e5e3c3c",
-"]<< c #57575e5e3d3d",
-"[<< c #57575e5e3f3f",
-"{<< c #585857573b3b",
-"}<< c #5a5a55553f3f",
-"|<< c #58585a5a3535",
-" 1< c #59595b5b3636",
-".1< c #58585f5f3535",
-"X1< c #58585f5f3636",
-"o1< c #5a5a5c5c3535",
-"O1< c #5a5a5f5f3737",
-"+1< c #5c5c5f5f3434",
-"@1< c #5c5c5e5e3737",
-"#1< c #59595a5a3a3a",
-"$1< c #595959593d3d",
-"%1< c #58585b5b3c3c",
-"&1< c #58585b5b3e3e",
-"*1< c #5a5a5a5a3e3e",
-"=1< c #58585c5c3b3b",
-"-1< c #59595f5f3939",
-";1< c #58585e5e3a3a",
-":1< c #59595f5f3b3b",
-">1< c #5a5a5e5e3939",
-",1< c #58585d5d3d3d",
-"<1< c #59595d5d3c3c",
-"111 c #58585d5d3f3f",
-"211 c #58585e5e3c3c",
-"311 c #58585f5f3d3d",
-"411 c #59595f5f3d3d",
-"511 c #58585f5f3e3e",
-"611 c #59595e5e3e3e",
-"711 c #5a5a5d5d3e3e",
-"811 c #5a5a5f5f3f3f",
-"911 c #5b5b5e5e3f3f",
-"011 c #5e5e5a5a3f3f",
-"q11 c #5c5c5d5d3b3b",
-"w11 c #545462622f2f",
-"e11 c #555564642d2d",
-"r11 c #5b5b62622e2e",
-"t11 c #535367673434",
-"y11 c #545461613636",
-"u11 c #555562623737",
-"i11 c #565661613737",
-"p11 c #575763633535",
-"a11 c #545460603838",
-"s11 c #555560603838",
-"d11 c #565661613939",
-"f11 c #565660603b3b",
-"g11 c #575762623a3a",
-"h11 c #545460603c3c",
-"j11 c #555560603e3e",
-"k11 c #565660603d3d",
-"l11 c #575761613c3c",
-"z11 c #565660603e3e",
-"x11 c #565661613f3f",
-"c11 c #575761613e3e",
-"v11 c #575761613f3f",
-"b11 c #565662623c3c",
-"n11 c #575763633d3d",
-"m11 c #565662623e3e",
-"M11 c #575763633f3f",
-"N11 c #565665653c3c",
-"B11 c #555569693636",
-"V11 c #565668683636",
-"C11 c #57576b6b3a3a",
-"Z11 c #595960603737",
-"A11 c #5a5a61613737",
-"S11 c #585866663131",
-"D11 c #585864643636",
-"F11 c #5c5c62623232",
-"G11 c #5d5d66663131",
-"H11 c #5e5e65653131",
-"J11 c #5e5e67673030",
-"K11 c #5f5f65653535",
-"L11 c #585863633838",
-"P11 c #585863633b3b",
-"I11 c #5a5a60603a3a",
-"U11 c #5b5b61613b3b",
-"Y11 c #595960603e3e",
-"T11 c #595960603f3f",
-"R11 c #585862623d3d",
-"E11 c #585862623f3f",
-"W11 c #595963633e3e",
-"Q11 c #5a5a60603c3c",
-"!11 c #5b5b61613d3d",
-"~11 c #5a5a60603e3e",
-"^11 c #5a5a61613f3f",
-"/11 c #5b5b61613f3f",
-"(11 c #595966663a3a",
-")11 c #5b5b67673939",
-"_11 c #585864643c3c",
-"`11 c #595964643c3c",
-"'11 c #595965653d3d",
-"]11 c #585864643e3e",
-"[11 c #595965653f3f",
-"{11 c #585867673c3c",
-"}11 c #5a5a65653d3d",
-"|11 c #5a5a64643f3f",
-" 21 c #5b5b66663c3c",
-".21 c #5a5a66663e3e",
-"X21 c #5b5b66663e3e",
-"o21 c #5b5b67673f3f",
-"O21 c #5c5c63633939",
-"+21 c #5c5c63633a3a",
-"@21 c #5d5d62623a3a",
-"#21 c #5f5f61613939",
-"$21 c #5e5e63633a3a",
-"%21 c #5c5c60603d3d",
-"&21 c #5c5c60603f3f",
-"*21 c #5d5d61613e3e",
-"=21 c #5c5c62623c3c",
-"-21 c #5d5d63633d3d",
-";21 c #5c5c62623e3e",
-":21 c #5d5d63633f3f",
-">21 c #5e5e62623f3f",
-",21 c #5f5f63633e3e",
-"<21 c #5d5d64643838",
-"121 c #5d5d64643a3a",
-"222 c #5d5d64643b3b",
-"322 c #5e5e65653b3b",
-"422 c #5f5f67673838",
-"522 c #5c5c64643f3f",
-"622 c #5d5d65653e3e",
-"722 c #5c5c67673f3f",
-"822 c #5e5e65653c3c",
-"922 c #5f5f64643c3c",
-"022 c #5e5e64643e3e",
-"q22 c #5f5f65653f3f",
-"w22 c #5f5f66663c3c",
-"e22 c #5f5f66663d3d",
-"r22 c #5e5e66663f3f",
-"t22 c #5f5f67673e3e",
-"y22 c #58586c6c3737",
-"u22 c #59596b6b3b3b",
-"i22 c #595968683d3d",
-"p22 c #5b5b6b6b3e3e",
-"a22 c #58586c6c3939",
-"s22 c #5c5c68683a3a",
-"d22 c #5d5d69693b3b",
-"f22 c #5c5c6a6a3939",
-"g22 c #5f5f6b6b3b3b",
-"h22 c #5d5d68683d3d",
-"j22 c #5c5c69693e3e",
-"k22 c #5d5d68683e3e",
-"l22 c #5d5d6a6a3f3f",
-"z22 c #5e5e69693e3e",
-"x22 c #5e5e69693f3f",
-"c22 c #5f5f6b6b3d3d",
-"v22 c #5f5f6a6a3f3f",
-"b22 c #5d5d6d6d3e3e",
-"n22 c #5d5d6f6f3d3d",
-"m22 c #5c5c6e6e3e3e",
-"M22 c #5d5d71713c3c",
-"N22 c #5e5e70703e3e",
-"B22 c #5f5f73733e3e",
-"V22 c #616165653232",
-"C22 c #606066663636",
-"Z22 c #626266663434",
-"A22 c #606066663a3a",
-"S22 c #616167673b3b",
-"D22 c #606065653d3d",
-"F22 c #606067673d3d",
-"G22 c #616166663d3d",
-"H22 c #606067673e3e",
-"J22 c #616166663e3e",
-"K22 c #646467673a3a",
-"L22 c #606068683535",
-"P22 c #62626a6a3737",
-"I22 c #616169693838",
-"U22 c #62626a6a3939",
-"Y22 c #63636b6b3838",
-"T22 c #63636b6b3a3a",
-"R22 c #616168683c3c",
-"E22 c #616168683e3e",
-"W22 c #616168683f3f",
-"Q22 c #626268683c3c",
-"!22 c #626269693f3f",
-"~22 c #636368683f3f",
-"^22 c #60606d6d3f3f",
-"/22 c #61616d6d3f3f",
-"(22 c #61616f6f3e3e",
-")22 c #63636f6f3d3d",
-"_22 c #66666a6a3838",
-"`22 c #64646a6a3c3c",
-"'22 c #64646a6a3e3e",
-"]22 c #65656b6b3f3f",
-"[22 c #666669693c3c",
-"{22 c #64646d6d3838",
-"}22 c #64646c6c3b3b",
-"|22 c #65656d6d3a3a",
-" 32 c #64646e6e3c3c",
-".32 c #67676d6d3f3f",
-"X32 c #68686d6d3737",
-"o32 c #676770703b3b",
-"O32 c #696970703d3d",
-"+32 c #686870703f3f",
-"@32 c #6a6a73733c3c",
-"#32 c #6a6a73733e3e",
-"$32 c #6e6e73733939",
-"%32 c #6c6c74743b3b",
-"&32 c #6d6d76763d3d",
-"*32 c #6e6e76763d3d",
-"=32 c #6f6f79793030",
-"-32 c #71717b7b3434",
-";32 c #72727c7c3535",
-":32 c #74747f7f3333",
-">32 c #717179793e3e",
-",32 c #727278783c3c",
-"<32 c Gray25",
-"132 c #414141414141",
-"232 c #414143434040",
-"333 c #424242424040",
-"433 c Gray26",
-"533 c #434343434343",
-"633 c #424241414646",
-"733 c #424242424444",
-"833 c #404045454141",
-"933 c #404044444343",
-"033 c #404047474040",
-"q33 c #414146464040",
-"w33 c #424244444141",
-"e33 c #434345454040",
-"r33 c #434345454242",
-"t33 c #424247474040",
-"y33 c #424247474141",
-"u33 c #424247474343",
-"i33 c #404044444545",
-"p33 c #414145454444",
-"a33 c #404044444747",
-"s33 c #404046464444",
-"d33 c #434347474646",
-"f33 c #444445454040",
-"g33 c #454544444040",
-"h33 c #454544444242",
-"j33 c #454545454343",
-"k33 c #444446464141",
-"l33 c #454546464040",
-"z33 c #454546464141",
-"x33 c #444446464343",
-"c33 c #454547474242",
-"v33 c #464647474141",
-"b33 c #464647474242",
-"n33 c #474746464242",
-"m33 c #444444444444",
-"M33 c Gray27",
-"N33 c #464646464646",
-"B33 c Gray28",
-"V33 c #464646464848",
-"C33 c #414148484141",
-"Z33 c #424249494242",
-"A33 c #434348484242",
-"S33 c #43434a4a4343",
-"D33 c #43434d4d4545",
-"F33 c #444449494242",
-"G33 c #444449494343",
-"H33 c #45454b4b4141",
-"J33 c #474748484040",
-"K33 c #474748484242",
-"L33 c #474748484343",
-"P33 c #444449494545",
-"I33 c #44444b4b4444",
-"U33 c #45454a4a4444",
-"Y33 c #45454a4a4646",
-"T33 c #464648484545",
-"R33 c #474749494444",
-"E33 c #464648484747",
-"W33 c #46464b4b4545",
-"Q33 c #45454d4d4242",
-"!33 c #46464c4c4040",
-"~33 c #47474d4d4141",
-"^33 c #46464c4c4242",
-"/33 c #46464e4e4141",
-"(33 c #47474f4f4040",
-")33 c #47474f4f4242",
-"_33 c #45454c4c4545",
-"`33 c #47474c4c4545",
-"'33 c #46464d4d4646",
-"]33 c #47474c4c4646",
-"[33 c #47474f4f4444",
-"{33 c #47474e4e4646",
-"}33 c #47474e4e4747",
-"|33 c #43434c4c4949",
-" 43 c #454549494848",
-".43 c #474749494848",
-"X43 c #46464a4a4949",
-"o43 c #46464a4a4b4b",
-"O43 c #47474b4b4a4a",
-"+43 c #46464f4f4a4a",
-"@43 c #44444d4d4c4c",
-"#43 c #46464c4c4c4c",
-"$43 c #47474c4c4f4f",
-"%43 c #46464f4f4c4c",
-"&43 c #484847474343",
-"*43 c #484847474c4c",
-"=43 c #484849494141",
-"-43 c #484849494343",
-";43 c #48484b4b4040",
-":43 c #49494b4b4040",
-">43 c #4a4a4a4a4040",
-",43 c #4b4b4b4b4141",
-"<43 c #4a4a4b4b4343",
-"143 c #4b4b4b4b4343",
-"243 c #484849494444",
-"343 c #484848484646",
-"444 c #494949494747",
-"544 c #48484a4a4545",
-"644 c #49494a4a4444",
-"744 c #49494a4a4545",
-"844 c #49494b4b4646",
-"944 c #4a4a49494444",
-"044 c #4a4a4b4b4545",
-"q44 c #4b4b4a4a4545",
-"w44 c #4a4a4b4b4646",
-"e44 c #49494c4c4141",
-"r44 c #48484e4e4242",
-"t44 c #49494f4f4343",
-"y44 c #4a4a4c4c4141",
-"u44 c #4b4b4d4d4040",
-"i44 c #4b4b4d4d4242",
-"p44 c #4a4a4e4e4040",
-"a44 c #4b4b4f4f4040",
-"s44 c #4b4b4f4f4141",
-"d44 c #4b4b4e4e4343",
-"f44 c #48484d4d4747",
-"g44 c #4b4b4c4c4444",
-"h44 c #4a4a4c4c4747",
-"j44 c #4b4b4c4c4646",
-"k44 c #4b4b4c4c4747",
-"l44 c #4e4e4b4b4242",
-"z44 c #4c4c4c4c4242",
-"x44 c #4d4d4d4d4343",
-"c44 c #4c4c4e4e4040",
-"v44 c #4c4c4e4e4141",
-"b44 c #4d4d4e4e4040",
-"n44 c #4d4d4f4f4141",
-"m44 c #4c4c4e4e4343",
-"M44 c #4d4d4f4f4242",
-"N44 c #4e4e4c4c4040",
-"B44 c #4f4f4c4c4343",
-"V44 c #4e4e4e4e4242",
-"C44 c #4c4c4d4d4545",
-"Z44 c #4d4d4d4d4545",
-"A44 c #4c4c4d4d4747",
-"S44 c #4d4d4c4c4747",
-"D44 c #4c4c4f4f4444",
-"F44 c #4d4d4f4f4444",
-"G44 c #4d4d4e4e4646",
-"H44 c #4e4e4f4f4747",
-"J44 c #484848484848",
-"K44 c #494949494949",
-"L44 c #484848484a4a",
-"P44 c #494949494b4b",
-"I44 c #48484a4a4949",
-"U44 c #49494b4b4a4a",
-"Y44 c Gray29",
-"T44 c #4b4b4b4b4b4b",
-"R44 c #4a4a4a4a4c4c",
-"E44 c #4b4b4b4b4d4d",
-"W44 c #48484c4c4b4b",
-"Q44 c #48484f4f4848",
-"!44 c #49494e4e4848",
-"~44 c #49494e4e4a4a",
-"^44 c #4a4a4c4c4949",
-"/44 c #4b4b4d4d4848",
-"(44 c #4a4a4c4c4b4b",
-")44 c #4a4a4f4f4949",
-"_44 c #49494d4d4c4c",
-"`44 c #48484c4c4f4f",
-"'44 c #4b4b4d4d4c4c",
-"]44 c #4a4a4e4e4f4f",
-"[44 c #4b4b4f4f4e4e",
-"{44 c #4c4c4d4d4848",
-"}44 c #4c4c4e4e4949",
-"|44 c #4c4c4f4f4848",
-" 54 c #4d4d4e4e4848",
-".54 c #4d4d4e4e4949",
-"X54 c #4d4d4f4f4a4a",
-"o54 c #4e4e4f4f4949",
-"O54 c #4e4e4f4f4a4a",
-"+54 c #4c4c4c4c4c4c",
-"@54 c Gray30",
-"#54 c #4c4c4e4e4d4d",
-"$54 c #4e4e4e4e4c4c",
-"%54 c #4e4e4e4e4e4e",
-"&54 c Gray31",
-"*54 c #49494d4d5050",
-"=54 c #4a4a4e4e5151",
-"-54 c #4b4b4f4f5050",
-";54 c #4c4c4b4b5050",
-":54 c #4e4e4d4d5252",
-">54 c #4e4e4e4e5050",
-",54 c #474750504d4d",
-"<54 c #474750504f4f",
-"154 c #484850504141",
-"254 c #484851514040",
-"354 c #494950504040",
-"454 c #494951514242",
-"555 c #494952524141",
-"655 c #4a4a51514141",
-"755 c #4a4a50504242",
-"855 c #4b4b51514343",
-"955 c #4b4b52524040",
-"055 c #4a4a52524343",
-"q55 c #4a4a53534242",
-"w55 c #4b4b52524242",
-"e55 c #484850504545",
-"r55 c #494951514444",
-"t55 c #4a4a50504444",
-"y55 c #4b4b51514545",
-"u55 c #4b4b53534444",
-"i55 c #4b4b53534646",
-"p55 c #494955554141",
-"a55 c #4b4b54544343",
-"s55 c #4d4d51514040",
-"d55 c #4c4c50504242",
-"f55 c #4d4d51514242",
-"g55 c #4c4c53534343",
-"h55 c #4e4e51514040",
-"j55 c #4f4f50504040",
-"k55 c #4e4e50504242",
-"l55 c #4e4e50504343",
-"z55 c #4f4f51514343",
-"x55 c #4e4e52524141",
-"c55 c #4f4f52524141",
-"v55 c #4e4e52524343",
-"b55 c #4d4d50504545",
-"n55 c #4c4c52524444",
-"m55 c #4c4c52524646",
-"M55 c #4e4e50504545",
-"N55 c #4f4f51514444",
-"B55 c #4e4e51514646",
-"V55 c #4f4f51514646",
-"C55 c #4e4e52524444",
-"Z55 c #4f4f53534444",
-"A55 c #4f4f53534545",
-"S55 c #4d4d55554040",
-"D55 c #4c4c55554242",
-"F55 c #4d4d54544242",
-"G55 c #4d4d56564343",
-"H55 c #4f4f54544040",
-"J55 c #4e4e55554343",
-"K55 c #4e4e56564141",
-"L55 c #4f4f57574040",
-"P55 c #4e4e57574242",
-"I55 c #4f4f57574242",
-"U55 c #4c4c54544545",
-"Y55 c #4c4c55554444",
-"T55 c #4d4d54544444",
-"R55 c #4e4e55554545",
-"E55 c #4e4e54544646",
-"W55 c #4f4f55554747",
-"Q55 c #4e4e57574444",
-"!55 c #4f4f56564444",
-"~55 c #4e4e56564747",
-"^55 c #4e4e57574646",
-"/55 c #494950504949",
-"(55 c #4b4b50504949",
-")55 c #4a4a51514a4a",
-"_55 c #4b4b50504a4a",
-"`55 c #4b4b52524b4b",
-"'55 c #4b4b50504c4c",
-"]55 c #4b4b55554d4d",
-"[55 c #4c4c51514b4b",
-"{55 c #4e4e51514848",
-"}55 c #4e4e50504b4b",
-"|55 c #4f4f50504a4a",
-" 65 c #4f4f50504b4b",
-".65 c #4f4f52524b4b",
-"X65 c #4c4c51514d4d",
-"o65 c #4c4c50504f4f",
-"O65 c #4c4c53534c4c",
-"+65 c #4d4d52524c4c",
-"@65 c #4d4d52524e4e",
-"#65 c #4f4f51514c4c",
-"$65 c #4e4e53534c4c",
-"%65 c #4e4e53534d4d",
-"&65 c #4e4e53534f4f",
-"*65 c #4d4d55554a4a",
-"=65 c #4f4f55554949",
-"-65 c #4e4e56564949",
-";65 c #4f4f57574848",
-":65 c #4e4e56564b4b",
-">65 c #4d4d54544d4d",
-",65 c #4d4d57574f4f",
-"<65 c #4f4f54544d4d",
-"165 c #4e4e55554e4e",
-"265 c #4f4f56564f4f",
-"365 c #4f4f59594040",
-"465 c #4f4f59594141",
-"565 c #4f4f5b5b4343",
-"666 c #4e4e5a5a4646",
-"766 c #4b4b50505454",
-"866 c #4b4b53535555",
-"966 c #4c4c50505151",
-"066 c #4d4d51515050",
-"q66 c #4f4f51515050",
-"w66 c #4f4f53535252",
-"e66 c #4f4f53535454",
-"r66 c #4d4d56565151",
-"t66 c #4d4d52525858",
-"y66 c #4f4f54545858",
-"u66 c #4f4f5a5a5454",
-"i66 c #50504e4e4141",
-"p66 c #50504e4e4242",
-"a66 c #50504f4f5454",
-"s66 c #505051514141",
-"d66 c #505051514343",
-"f66 c #505053534040",
-"g66 c #505053534242",
-"h66 c #515152524242",
-"j66 c #535350504141",
-"k66 c #525250504343",
-"l66 c #535351514242",
-"z66 c #525253534141",
-"x66 c #525253534343",
-"c66 c #505052524444",
-"v66 c #505052524545",
-"b66 c #515152524444",
-"n66 c #515153534545",
-"m66 c #515153534646",
-"M66 c #505055554141",
-"N66 c #505054544343",
-"B66 c #515154544343",
-"V66 c #515156564040",
-"C66 c #525255554040",
-"Z66 c #525255554242",
-"A66 c #525257574040",
-"S66 c #525257574141",
-"D66 c #535356564141",
-"F66 c #535357574040",
-"G66 c #525257574343",
-"H66 c #535356564343",
-"J66 c #515155554646",
-"K66 c #515155554747",
-"L66 c #505057574545",
-"P66 c #505057574747",
-"I66 c #525255554444",
-"U66 c #525254544646",
-"Y66 c #525254544747",
-"T66 c #535355554747",
-"R66 c #525256564545",
-"E66 c #535356564545",
-"W66 c #525256564747",
-"Q66 c #535357574646",
-"!66 c #545453534141",
-"~66 c #545456564141",
-"^66 c #555557574141",
-"/66 c #545457574242",
-"(66 c #545457574444",
-")66 c #545457574646",
-"_66 c #555556564646",
-"`66 c #565657574545",
-"'66 c #505051514949",
-"]66 c #505051514b4b",
-"[66 c #505053534848",
-"{66 c #515153534848",
-"}66 c #525253534b4b",
-"|66 c #505051514c4c",
-" 76 c #505052524d4d",
-".76 c #515152524c4c",
-"X76 c #515152524d4d",
-"o76 c #525253534d4d",
-"O76 c #525253534e4e",
-"+76 c #515154544b4b",
-"@76 c #515157574949",
-"#76 c #505056564a4a",
-"$76 c #525254544949",
-"%76 c #535355554848",
-"&76 c #535355554a4a",
-"*76 c #525256564848",
-"=76 c #535357574848",
-"-76 c #515154544d4d",
-";76 c #505055554f4f",
-":76 c #505056564c4c",
-">76 c #515156564f4f",
-",76 c #525255554c4c",
-"<76 c #535354544c4c",
-"176 c #525254544f4f",
-"276 c #535354544e4e",
-"376 c #535354544f4f",
-"476 c #535356564f4f",
-"576 c #545456564848",
-"676 c #545456564949",
-"777 c #555557574949",
-"877 c #545456564b4b",
-"977 c #555557574a4a",
-"077 c #545455554d4d",
-"q77 c #555557574c4c",
-"w77 c #545457574e4e",
-"e77 c #555556564e4e",
-"r77 c #505058584040",
-"t77 c #505058584141",
-"y77 c #515159594141",
-"u77 c #505058584343",
-"i77 c #515159594242",
-"p77 c #51515b5b4242",
-"a77 c #52525b5b4040",
-"s77 c #52525a5a4242",
-"d77 c #52525a5a4343",
-"f77 c #53535b5b4343",
-"g77 c #505059594444",
-"h77 c #515159594444",
-"j77 c #505059594646",
-"k77 c #515158584646",
-"l77 c #51515a5a4747",
-"z77 c #535358584444",
-"x77 c #525259594747",
-"c77 c #53535b5b4444",
-"v77 c #53535b5b4646",
-"b77 c #53535c5c4141",
-"n77 c #53535d5d4242",
-"m77 c #53535c5c4747",
-"M77 c #545458584141",
-"N77 c #555559594040",
-"B77 c #545459594242",
-"V77 c #545459594343",
-"C77 c #555558584343",
-"Z77 c #54545a5a4040",
-"A77 c #55555b5b4141",
-"S77 c #55555a5a4343",
-"D77 c #565658584040",
-"F77 c #575759594141",
-"G77 c #565658584343",
-"H77 c #575759594343",
-"J77 c #56565a5a4141",
-"K77 c #57575b5b4040",
-"L77 c #56565a5a4343",
-"P77 c #57575b5b4242",
-"I77 c #545458584747",
-"U77 c #555558584747",
-"Y77 c #55555a5a4444",
-"T77 c #55555a5a4646",
-"R77 c #565659594444",
-"E77 c #565659594646",
-"W77 c #575758584646",
-"Q77 c #56565b5b4444",
-"!77 c #56565b5b4545",
-"~77 c #57575a5a4545",
-"^77 c #57575b5b4444",
-"/77 c #56565b5b4747",
-"(77 c #57575a5a4747",
-")77 c #54545d5d4040",
-"_77 c #54545d5d4242",
-"`77 c #55555e5e4141",
-"'77 c #54545e5e4343",
-"]77 c #55555e5e4343",
-"[77 c #56565f5f4040",
-"{77 c #56565f5f4242",
-"}77 c #54545c5c4444",
-"|77 c #54545c5c4545",
-" 87 c #55555d5d4545",
-".87 c #54545c5c4747",
-"X87 c #55555d5d4646",
-"o87 c #55555f5f4747",
-"O87 c #57575c5c4545",
-"+87 c #56565f5f4444",
-"@87 c #56565e5e4646",
-"#87 c #57575f5f4747",
-"$87 c #505058584949",
-"%87 c #505059594848",
-"&87 c #515158584848",
-"*87 c #505058584b4b",
-"=87 c #51515a5a4949",
-"-87 c #525259594949",
-";87 c #535359594b4b",
-":87 c #52525b5b4848",
-">87 c #53535a5a4848",
-",87 c #52525a5a4b4b",
-"<87 c #53535a5a4a4a",
-"187 c #515159594c4c",
-"287 c #535359594f4f",
-"387 c #53535c5c4b4b",
-"487 c #545458584949",
-"587 c #555559594848",
-"687 c #545458584a4a",
-"787 c #54545b5b4949",
-"888 c #54545b5b4b4b",
-"988 c #565659594848",
-"088 c #565658584a4a",
-"q88 c #575759594b4b",
-"w88 c #57575a5a4949",
-"e88 c #56565a5a4b4b",
-"r88 c #54545a5a4c4c",
-"t88 c #565658584d4d",
-"y88 c #575759594c4c",
-"u88 c #57575b5b4d4d",
-"i88 c #55555d5d4848",
-"p88 c #54545d5d4a4a",
-"a88 c #55555c5c4a4a",
-"s88 c #55555e5e4949",
-"d88 c #55555e5e4b4b",
-"f88 c #57575c5c4848",
-"g88 c #56565d5d4b4b",
-"h88 c #56565e5e4949",
-"j88 c #57575f5f4848",
-"k88 c #56565f5f4a4a",
-"l88 c #57575f5f4a4a",
-"z88 c #54545c5c4d4d",
-"x88 c #54545d5d4c4c",
-"c88 c #55555c5c4c4c",
-"v88 c #56565f5f4c4c",
-"b88 c #57575e5e4c4c",
-"n88 c #56565e5e4f4f",
-"m88 c #56565f5f4e4e",
-"M88 c #57575e5e4e4e",
-"N88 c #585859594747",
-"B88 c #58585a5a4545",
-"V88 c #59595b5b4545",
-"C88 c #58585c5c4141",
-"Z88 c #58585c5c4343",
-"A88 c #59595d5d4242",
-"S88 c #58585f5f4040",
-"D88 c #59595e5e4040",
-"F88 c #59595f5f4343",
-"G88 c #5a5a5d5d4040",
-"H88 c #5a5a5d5d4242",
-"J88 c #5a5a5f5f4141",
-"K88 c #5a5a5e5e4343",
-"L88 c #5b5b5e5e4343",
-"P88 c #58585c5c4545",
-"I88 c #59595d5d4444",
-"U88 c #58585d5d4747",
-"Y88 c #59595c5c4747",
-"T88 c #59595d5d4646",
-"R88 c #59595e5e4747",
-"E88 c #5b5b5d5d4545",
-"W88 c #5a5a5e5e4545",
-"Q88 c #5a5a5e5e4747",
-"!88 c #5b5b5f5f4646",
-"~88 c #5f5f5b5b4242",
-"^88 c #5d5d5d5d4141",
-"/88 c #5c5c5f5f4242",
-"(88 c #5c5c5f5f4444",
-")88 c #5c5c5e5e4646",
-"_88 c #58585b5b4848",
-"`88 c #59595a5a4848",
-"'88 c #58585b5b4a4a",
-"]88 c #5a5a5b5b4b4b",
-"[88 c #58585a5a4c4c",
-"{88 c #58585a5a4d4d",
-"}88 c #59595a5a4c4c",
-"|88 c #59595b5b4d4d",
-" 98 c #59595b5b4e4e",
-".98 c #58585d5d4949",
-"X98 c #59595c5c4949",
-"o98 c #58585c5c4b4b",
-"O98 c #59595c5c4b4b",
-"+98 c #59595e5e4848",
-"@98 c #59595e5e4a4a",
-"#98 c #5a5a5d5d4848",
-"$98 c #5a5a5d5d4a4a",
-"%98 c #5b5b5c5c4a4a",
-"&98 c #5a5a5f5f4949",
-"*98 c #5b5b5f5f4848",
-"=98 c #5b5b5e5e4b4b",
-"-98 c #58585c5c4d4d",
-";98 c #59595d5d4c4c",
-":98 c #58585c5c4e4e",
-">98 c #58585f5f4d4d",
-",98 c #58585f5f4f4f",
-"<98 c #5a5a5d5d4c4c",
-"198 c #5a5a5c5c4e4e",
-"298 c #5a5a5c5c4f4f",
-"398 c #5b5b5d5d4f4f",
-"498 c #5a5a5e5e4d4d",
-"598 c #5b5b5e5e4d4d",
-"698 c #5a5a5e5e4f4f",
-"798 c #5d5d5f5f4a4a",
-"898 c #5c5c5f5f4c4c",
-"999 c #5c5c5f5f4e4e",
-"099 c #505050505050",
-"q99 c #515151515151",
-"w99 c #505050505252",
-"e99 c #505052525151",
-"r99 c Gray32",
-"t99 c #535353535353",
-"y99 c #505054545353",
-"u99 c #505057575050",
-"i99 c #515156565050",
-"p99 c #535355555050",
-"a99 c #525254545353",
-"s99 c #525257575151",
-"d99 c #505054545555",
-"f99 c #515155555454",
-"g99 c #505054545757",
-"h99 c #525256565555",
-"j99 c #525256565757",
-"k99 c #535357575656",
-"l99 c #545455555050",
-"z99 c #545454545252",
-"x99 c #555556565050",
-"c99 c #555556565151",
-"v99 c #555557575252",
-"b99 c #565657575151",
-"n99 c #565657575252",
-"m99 c Gray33",
-"M99 c #555555555555",
-"N99 c #565656565656",
-"B99 c Gray34",
-"V99 c #505055555959",
-"C99 c #515158585050",
-"Z99 c #515158585151",
-"A99 c #525259595252",
-"S99 c #535358585252",
-"D99 c #53535a5a5252",
-"F99 c #53535a5a5353",
-"G99 c #535358585454",
-"H99 c #52525d5d5555",
-"J99 c #555558585151",
-"K99 c #545459595353",
-"L99 c #54545a5a5050",
-"P99 c #565659595050",
-"I99 c #575758585050",
-"U99 c #565658585353",
-"Y99 c #565659595252",
-"T99 c #575758585353",
-"R99 c #57575a5a5353",
-"E99 c #545459595555",
-"W99 c #545458585757",
-"Q99 c #54545b5b5454",
-"!99 c #55555a5a5454",
-"~99 c #575759595454",
-"^99 c #56565b5b5454",
-"/99 c #56565b5b5555",
-"(99 c #56565b5b5757",
-")99 c #56565c5c5050",
-"_99 c #57575d5d5151",
-"`99 c #56565c5c5252",
-"'99 c #55555c5c5454",
-"]99 c #55555c5c5555",
-"[99 c #54545e5e5656",
-"{99 c #57575c5c5555",
-"}99 c #56565d5d5656",
-"|99 c #57575c5c5656",
-" 09 c #57575e5e5757",
-".09 c #535359595959",
-"X09 c #535358585b5b",
-"o09 c #535358585c5c",
-"O09 c #535358585e5e",
-"+09 c #56565a5a5959",
-"@09 c #545459595f5f",
-"#09 c #57575c5c5858",
-"$09 c #54545d5d5c5c",
-"%09 c #55555d5d5f5f",
-"&09 c #59595b5b5050",
-"*09 c #5a5a5b5b5353",
-"=09 c #585859595454",
-"-09 c #58585a5a5555",
-";09 c #59595a5a5454",
-":09 c #59595a5a5555",
-">09 c #5a5a5b5b5555",
-",09 c #5a5a5b5b5656",
-"<09 c #59595c5c5151",
-"109 c #59595c5c5353",
-"209 c #58585e5e5050",
-"309 c #5a5a5c5c5151",
-"409 c #5b5b5d5d5050",
-"509 c #5b5b5d5d5252",
-"609 c #5b5b5f5f5151",
-"709 c #58585d5d5757",
-"809 c #59595e5e5757",
-"909 c #5a5a5c5c5757",
-"000 c #5b5b5c5c5656",
-"q00 c #5b5b5c5c5757",
-"w00 c #5b5b5e5e5555",
-"e00 c #5c5c5e5e5050",
-"r00 c #5c5c5e5e5151",
-"t00 c #5d5d5f5f5151",
-"y00 c #5c5c5e5e5353",
-"u00 c #5d5d5f5f5252",
-"i00 c #5c5c5d5d5555",
-"p00 c #5c5c5d5d5757",
-"a00 c #5d5d5f5f5454",
-"s00 c #585858585858",
-"d00 c Gray35",
-"f00 c #59595b5b5858",
-"g00 c #5a5a5a5a5a5a",
-"h00 c #5b5b5b5b5b5b",
-"j00 c #58585c5c5b5b",
-"k00 c #58585f5f5858",
-"l00 c #59595e5e5858",
-"z00 c #5b5b5d5d5858",
-"x00 c #5a5a5f5f5959",
-"c00 c #5a5a5e5e5d5d",
-"v00 c #5b5b5f5f5e5e",
-"b00 c #5c5c5d5d5858",
-"n00 c #5c5c5e5e5959",
-"m00 c #5c5c5f5f5858",
-"M00 c #5d5d5e5e5959",
-"N00 c #5d5d5f5f5a5a",
-"B00 c #5e5e5f5f5959",
-"V00 c #5e5e5f5f5a5a",
-"C00 c Gray36",
-"Z00 c #5d5d5d5d5d5d",
-"A00 c Gray37",
-"S00 c #5f5f5f5f5f5f",
-"D00 c #56565b5b6161",
-"F00 c #535360604242",
-"G00 c #535360604444",
-"H00 c #555560604040",
-"J00 c #555560604242",
-"K00 c #565661614141",
-"L00 c #575760604141",
-"P00 c #565661614343",
-"I00 c #575760604343",
-"U00 c #575762624040",
-"Y00 c #565660604545",
-"T00 c #575760604545",
-"R00 c #565660604747",
-"E00 c #575762624444",
-"W00 c #565660604848",
-"Q00 c #575761614848",
-"!00 c #575760604b4b",
-"~00 c #575763634b4b",
-"^00 c #575760604d4d",
-"/00 c #575760604f4f",
-"(00 c #595960604141",
-")00 c #585861614242",
-"_00 c #585862624040",
-"`00 c #585863634141",
-"'00 c #595963634040",
-"]00 c #595963634141",
-"[00 c #595962624343",
-"{00 c #5a5a61614040",
-"}00 c #5b5b60604040",
-"|00 c #5a5a61614242",
-" q0 c #5b5b60604242",
-".q0 c #5b5b62624040",
-"Xq0 c #5b5b62624141",
-"oq0 c #5b5b62624343",
-"Oq0 c #585861614444",
-"+q0 c #585861614646",
-"@q0 c #585863634545",
-"#q0 c #595962624545",
-"$q0 c #595962624747",
-"%q0 c #5a5a60604444",
-"&q0 c #5b5b61614545",
-"*q0 c #5b5b61614747",
-"=q0 c #5a5a63634444",
-"-q0 c #5a5a63634646",
-";q0 c #585864644040",
-":q0 c #595964644242",
-">q0 c #5a5a64644141",
-",q0 c #5b5b65654040",
-"wq c #5c5c61614a4a",
-",wq c #5c5c61614b4b",
-"ew c #5f5f6e6e4545",
-",ew c #5d5d68684848",
-"re c #5f5f69695151",
-",re c #5f5f68685555",
-"tr c #62626e6e4040",
-",tr c #63636f6f4141",
-"
yt c #62626d6d4d4d",
-",yt c #63636c6c4d4d",
-"uy c #616164645353",
-",uy c #616166665050",
-"iu c #65656a6a5454",
-",iu c #666669695454",
-"pi c #69696c6c5b5b",
-",pi c #69696e6e5858",
-"ap c #676777774a4a",
-",ap c #646474744f4f",
-"sa c #6a6a76764e4e",
-",sa c #6b6b76764e4e",
-"ds c #676770705151",
-",ds c #666671715353",
-"fd c #6e6e71715454",
-",fd c #6e6e73735555",
-"gf c #6b6b7a7a5353",
-",gf c #696979795454",
-"hg c #6e6e7f7f5b5b",
-",hg c #6f6f7f7f5b5b",
-"jh c #707072725a5a",
-",jh c #707074745959",
-"kj c #77777d7d5151",
-",kj c #76767d7d5353",
-"lk c #74747e7e5959",
-",lk c #74747e7e5b5b",
-"zl c #65656d6d6262",
-",zl c #66666c6c6060",
-"xz c #6d6d71716262",
-",xz c #6e6e71716060",
-"cx c #717173736868",
-",cx c #717171716f6f",
-"vc c #72727d7d6f6f",
-",vc c #767679796868",
-"bv c #76767f7f7a7a",
-",bv c #787879797171",
-"nb c #7b7b80804a4a",
-",nb c #7b7b83834a4a",
-"mn c #747481815555",
-",mn c #757580805555",
-"Mm c #747486865c5c",
-",Mm c #757586865c5c",
-"NM c #787883835858",
-",NM c #787883835959",
-"BN c #7b7b8d8d5353",
-",BN c #7a7a8e8e5151",
-"VB c #7d7d8e8e5858",
-",VB c #7c7c8e8e5a5a",
-"CV c #777780806f6f",
-",CV c #777783836d6d",
-"ZC c #7e7e82826969",
-",ZC c #7e7e82826b6b",
-"AZ c #7e7e89896969",
-",AZ c #7f7f8a8a6868",
-"SA c #7f7f89897171",
-",SA c #7f7f88887373",
-"DS c #81818b8b5656",
-",DS c #81818b8b5757",
-"FD c #86868d8d5959",
-",FD c #87878e8e5858",
-"GF c #818195955656",
-",GF c #818196965555",
-"HG c #878791915c5c",
-",HG c #868690905e5e",
-"JH c #898992925959",
-",JH c #888893935b5b",
-"KJ c #8c8c9b9b5656",
-",KJ c #8c8c9c9c5353",
-"LK c #909095955252",
-",LK c #909096965656",
-"PL c #81818b8b6666",
-",PL c #828288886464",
-"IP c #82828d8d6f6f",
-",IP c #83838e8e6c6c",
-"UI c #82828a8a7d7d",
-",UI c #82828a8a7f7f",
-"YU c #868697976060",
-",YU c #868697976161",
-"TY c #878799996767",
-",TY c #84849c9c6262",
-"RT c #898991916868",
-",RT c #888890906b6b",
-"