|
From: <ma...@us...> - 2004-01-14 13:02:28
|
Update of /cvsroot/sharedaemon/ui-wx/src
In directory sc8-pr-cvs1:/tmp/cvs-serv22788
Modified Files:
MainDlg.cpp MainDlg.h Makefile.am defines.h
Added Files:
AboutDlg.cpp AboutDlg.h
Log Message:
Aboutbox(tm)
--- NEW FILE: AboutDlg.cpp ---
/*
* This file is part of wxInterface.
* Copyright (C) 2003 Alo Sarv <ma...@us...>
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifdef __GNUG__
#pragma implementation "AboutDlg.h"
#endif
// For compilers that support precompilation
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "AboutDlg.h"
/**
* Constructor for about dialog - calls CreateControls().
*/
CAboutDlg::CAboutDlg(
wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint
&pos, const wxSize &size, long style, const wxString &name
) : wxDialog(parent, id, title, pos, size, style, name) {
CreateControls();
}
/************************************************************* CreateControls */
/* Create controls for da about dlg. logo array contains the logo ofcourse. */
/******************************************************************************/
void CAboutDlg::CreateControls() {
static const unsigned char logo[] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
2,0,0,2,0,0,2,0,0,2,0,0,4,0,0,4,3,0,4,3,0,4,4,0,4,
4,0,4,7,0,4,7,0,4,8,0,5,8,0,5,8,0,5,6,0,4,3,0,2,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,4,1,0,5,
1,0,5,1,0,5,1,0,4,1,0,4,1,0,4,1,0,4,0,0,4,0,0,4,0,
0,4,0,0,4,0,0,2,0,0,2,0,0,2,0,0,0,0,0,0,0,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
1,1,3,1,1,3,2,2,4,2,1,6,2,1,6,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,2,0,0,2,
0,0,2,0,0,2,1,0,2,1,0,2,3,0,2,4,0,2,4,0,2,6,0,2,6,
0,4,7,0,4,7,0,4,6,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,4,0,0,4,1,0,4,0,0,4,1,0,2,0,
0,2,1,0,2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,
0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,3,1,1,3,2,2,4,2,
1,6,2,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1,0,0,2,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,
0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,3,0,0,3,0,0,3,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,
0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,2,1,1,3,1,1,3,2,2,4,2,1,6,2,1,6,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,
1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,
0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,
0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,3,1,1,
3,2,2,4,2,1,6,2,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,
0,0,2,0,0,2,0,0,2,0,0,2,0,0,3,0,0,3,0,0,3,0,0,3,0,
0,3,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,0,
0,2,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,
0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,2,1,1,3,1,1,3,2,2,4,2,1,6,2,1,6,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,2,0,0,2,0,
0,3,0,0,3,0,0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,0,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,2,0,
0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
1,1,3,1,1,3,2,2,4,2,1,6,2,1,6,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,0,3,0,0,3,0,2,3,0,0,
3,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,2,0,0,2,0,0,2,0,0,
3,0,0,3,0,0,3,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
0,1,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,3,1,1,3,2,2,4,2,
1,6,2,1,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,0,0,3,0,2,4,0,2,4,0,2,4,0,2,3,0,2,3,0,2,1,0,2,0,
0,2,0,0,2,0,0,2,0,1,2,0,1,2,0,2,2,0,2,2,0,2,0,0,1,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,
0,0,3,0,0,3,0,2,3,0,2,3,0,2,3,0,2,3,0,2,3,0,2,3,0,
2,3,0,2,3,0,2,3,0,2,3,0,2,3,0,2,3,0,2,1,0,0,1,0,0,
0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,2,1,1,3,1,1,3,2,2,4,2,1,6,2,1,6,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,4,2,3,3,0,2,5,0,5,4,
0,4,4,0,4,4,0,4,3,0,4,3,0,4,1,0,4,1,0,4,0,0,4,0,0,
5,0,0,5,0,0,5,0,0,5,0,0,5,0,0,4,0,0,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,1,0,2,6,0,6,8,0,7,7,0,6,7,0,
6,4,0,5,4,0,5,4,0,4,4,0,4,5,0,5,4,0,4,4,0,4,4,0,4,
4,0,4,4,0,4,3,0,4,3,1,4,1,0,0,1,2,0,1,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,2,0,0,2,0,0,
2,0,0,2,0,0,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,
0,0,1,1,1,1,1,1,1,0,0,2,0,3,3,1,4,1,0,2,2,0,3,6,4,
7,5,3,8,1,0,4,2,0,6,2,0,6,2,0,8,1,0,7,1,0,7,1,0,7,
1,0,7,1,0,5,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,1,0,2,6,0,5,7,0,7,7,0,7,6,0,7,6,0,7,4,0,7,4,0,5,
4,0,5,3,0,4,3,0,4,4,0,3,2,0,3,1,0,2,1,0,2,2,0,3,1,
1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,
1,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,0,0,2,0,0,4,0,0,4,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
2,2,1,1,1,0,0,0,0,0,0,2,2,2,2,2,2,1,1,1,0,1,0,0,2,
0,0,3,0,0,4,0,0,2,0,0,3,0,2,4,1,1,3,2,0,0,2,2,1,6,
2,1,7,3,0,9,3,0,9,3,0,11,4,0,10,4,0,10,4,0,8,2,0,3,1,
1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,0,3,6,0,7,7,0,9,
6,0,9,6,0,9,4,0,7,3,0,7,3,0,5,1,0,4,0,0,2,0,0,0,0,
1,0,0,3,0,0,3,0,0,4,0,0,3,0,0,2,0,0,1,0,0,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
0,0,2,0,0,2,0,0,2,0,0,4,0,0,4,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,
0,1,1,1,2,2,2,2,2,2,0,2,0,0,8,0,0,13,0,0,13,0,0,8,0,
0,6,0,0,7,0,0,6,0,0,4,0,0,2,1,0,1,3,1,2,6,2,1,7,4,
1,8,7,1,11,7,1,13,7,1,11,3,1,4,1,1,1,1,1,1,1,1,1,1,1,
1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,
1,1,1,1,1,1,3,1,4,7,0,10,6,0,11,6,0,9,4,0,6,1,0,5,0,
0,4,0,0,2,0,1,0,1,8,1,0,8,0,0,8,0,0,10,0,0,12,0,0,12,
0,0,11,0,0,7,0,0,5,0,2,3,0,1,1,0,1,1,0,1,1,0,1,1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,0,0,2,0,
0,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,5,5,5,
0,10,1,0,23,0,0,31,0,0,29,0,0,22,0,0,18,0,0,18,0,0,19,0,0,
17,0,0,13,0,0,11,1,2,8,4,2,6,5,3,4,6,4,3,8,4,1,8,4,2,
7,3,3,5,2,2,2,2,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,3,3,5,2,
1,6,3,2,8,2,3,7,1,5,6,1,7,5,0,9,4,0,11,1,0,13,0,2,23,
4,0,22,0,0,21,0,0,23,0,0,26,0,0,28,0,0,27,0,0,23,0,3,14,0,
6,7,2,2,2,0,1,1,0,2,2,0,2,2,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,2,0,0,2,0,0,2,0,0,2,0,0,4,0,0,4,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,4,4,4,12,12,12,10,24,9,0,39,0,0,48,0,0,
47,0,0,39,0,0,33,0,0,32,0,0,32,0,1,30,0,2,26,2,4,23,4,5,19,
6,4,14,5,3,10,3,1,6,2,2,2,2,1,1,3,3,3,3,3,3,3,3,3,3,
2,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,
1,1,2,2,2,3,3,3,3,3,3,2,4,3,0,2,3,0,5,3,0,8,3,1,12,
4,4,17,7,4,22,8,3,26,6,2,30,5,0,31,0,0,31,0,0,32,0,0,36,0,
0,43,0,0,46,0,0,45,0,0,38,0,11,24,7,12,13,8,5,5,3,1,1,0,2,
2,0,2,2,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,
2,0,0,2,0,0,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,6,
6,6,20,20,20,22,39,21,14,64,11,10,77,8,13,78,12,8,68,6,2,57,0,1,51,
0,0,46,0,3,41,0,1,35,2,5,31,4,5,27,6,5,22,4,5,17,5,4,14,5,
5,10,4,4,9,5,4,4,4,4,4,4,3,3,3,2,2,2,1,1,1,1,1,1,0,
0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,3,3,3,4,4,
4,1,5,4,0,11,5,0,14,4,1,17,6,3,21,7,3,26,6,3,31,8,2,35,6,
1,38,4,0,43,0,0,46,0,0,52,0,7,62,5,12,72,10,13,78,12,9,74,6,15,
63,11,15,32,13,17,18,13,7,7,5,1,1,0,1,1,0,3,3,1,2,2,2,0,0,
0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,2,0,0,2,0,0,4,0,0,4,
0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,3,3,3,3,5,4,0,2,0,0,2,0,5,12,5,22,29,22,26,52,25,34,96,
33,27,113,24,22,120,17,8,114,3,0,101,0,0,87,0,0,72,0,0,60,0,0,42,0,
0,37,0,0,35,0,0,32,0,0,29,1,6,24,8,11,20,15,15,16,18,4,6,5,3,
5,4,2,4,3,2,4,3,2,2,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,3,0,3,3,1,2,4,1,3,5,2,4,6,1,13,18,11,10,22,10,
3,26,8,0,30,7,0,35,3,0,39,0,0,43,0,0,47,0,0,70,0,0,78,0,0,
94,0,1,110,5,13,119,18,20,120,22,22,111,19,32,94,27,16,41,12,17,22,15,5,
10,4,0,3,0,0,2,0,2,4,1,1,3,0,1,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,5,0,0,5,0,0,4,0,0,
2,0,0,1,0,0,0,0,0,0,0,1,0,2,3,3,5,0,1,0,0,2,0,0,9,
0,0,10,0,0,13,0,10,32,11,21,62,22,64,136,62,64,175,57,53,208,44,31,213,
17,8,202,0,1,182,0,6,150,1,8,122,9,4,91,10,0,54,0,0,57,0,0,40,0,0,
42,0,0,20,0,3,10,18,26,22,39,31,32,36,20,25,21,7,12,8,0,2,0,0,2,
1,5,7,6,3,5,2,0,1,0,0,1,0,2,4,1,2,4,1,0,3,0,4,6,1,
12,17,11,19,24,17,24,25,19,25,16,11,12,14,3,0,19,0,0,33,2,0,40,0,0,
54,0,0,84,0,0,98,0,0,126,0,7,163,1,1,190,10,0,196,12,20,207,38,55,215,
67,55,175,52,35,113,27,14,51,10,12,26,9,0,10,0,0,5,0,0,5,0,0,4,0,
0,3,0,1,3,0,0,2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,3,0,0,
2,0,0,3,0,0,5,0,0,5,0,0,4,0,0,2,0,0,0,0,1,0,2,3,0,
4,3,0,4,5,0,7,0,0,4,0,2,1,0,9,1,0,9,0,0,11,0,5,29,5,
12,58,12,29,114,31,43,177,42,43,233,35,19,246,6,1,245,0,12,241,0,32,217,
28,40,186,43,47,160,52,2,103,9,0,94,0,0,71,0,0,64,0,0,38,0,0,16,13,6,6,
18,10,16,14,10,20,12,10,20,12,7,13,9,3,9,5,1,5,4,1,3,0,0,1,0,
1,3,0,3,5,2,2,7,1,2,9,1,6,14,3,10,20,9,14,25,11,17,26,9,9,
11,0,10,25,0,0,42,1,0,60,6,0,73,2,0,87,0,16,126,11,43,170,27,43,204,
26,35,231,25,14,249,24,4,248,26,22,249,46,44,235,61,39,176,36,18,105,10,
8,47,3,8,22,7,0,9,0,0,5,0,0,5,0,0,3,0,0,2,0,2,2,2,1,1,1,1,
1,1,2,0,1,1,1,0,1,1,0,1,2,0,1,2,0,0,3,0,0,1,0,0,1,
0,0,0,0,1,0,2,4,0,5,6,0,7,7,0,9,7,0,9,8,0,12,4,0,9,
4,0,6,3,4,6,0,4,0,0,6,0,3,19,6,2,47,8,3,102,12,26,179,35,35,
243,37,12,254,9,0,254,0,14,255,6,42,243,40,52,217,53,54,188,57,22,144,25
,36,161,33,19,137,14,0,100,0,0,58,0,0,33,0,0,10,0,0,16,0,9,25,12,22,36,
23,23,35,25,13,22,17,3,9,5,0,3,2,3,5,4,1,3,2,3,8,4,9,16,9,15,
25,14,19,31,17,16,31,12,10,28,6,5,29,0,0,28,0,0,52,0,0,73,0,0,107,
12,19,146,41,17,151,30,23,159,17,55,205,38,52,228,33,33,238,21,7,247,16,
1,248,20,18,244,40,26,217,41,15,152,10,0,85,0,1,35,0,6,13,6,0,4,0,0,2,0,
2,2,4,2,0,5,4,0,5,5,0,6,5,0,6,5,0,6,7,0,6,5,0,5,5,0,
5,5,0,3,5,0,3,4,0,1,0,0,0,0,0,0,1,0,2,3,0,4,6,0,7,
7,0,9,8,0,11,8,0,11,8,0,11,6,0,11,5,0,9,4,3,8,0,2,1,0,
4,0,1,13,3,0,37,1,0,96,9,13,164,23,23,225,25,7,246,3,0,248,0,3,248,
0,25,233,23,37,216,37,17,172,19,5,151,6,56,207,50,55,205,46,26,164,16,0,
116,0,0,82,0,0,35,0,0,22,0,0,22,0,8,29,10,15,33,19,11,24,15,1,10,5,0,
4,3,6,8,7,0,2,1,3,8,4,10,20,11,19,33,18,14,33,13,1,24,0,0,17,
0,0,23,0,0,56,0,0,98,0,4,133,7,25,172,40,58,217,75,29,192,39,0,154,0,
27,193,9,42,230,22,23,233,10,3,241,8,4,245,19,18,236,36,20,202,31,10,142
,4,6,87,0,0,27,0,2,7,3,0,1,0,0,1,0,4,2,7,4,0,6,4,0,5,7,0,
8,7,0,8,7,0,8,8,0,8,7,0,6,8,0,6,7,0,5,7,0,5,5,0,5,
0,1,0,0,0,0,1,0,2,3,0,4,4,0,5,6,0,7,6,0,9,6,0,9,6,
0,9,4,0,7,3,0,7,2,3,5,0,3,0,0,4,0,0,11,1,0,29,0,0,78,
0,0,127,0,11,189,5,21,236,11,20,254,7,16,249,7,26,233,21,35,224,34,0,166
,0,0,149,0,25,214,24,42,236,41,41,228,37,28,200,26,13,159,16,0,89,0,0,46
,0,0,21,0,0,12,0,0,17,0,0,18,4,0,9,1,0,4,2,2,6,7,0,4,3,0,6,
2,3,15,5,4,23,4,0,19,0,0,13,0,0,19,0,0,46,0,0,103,0,18,164,1,
39,209,40,44,228,56,52,243,67,5,194,12,0,141,0,8,190,0,38,233,19,27,239,
15,18,249,23,20,249,34,21,224,36,8,177,16,0,118,0,0,72,0,0,22,0,0,6,0,0,
2,0,0,2,1,3,3,5,2,0,5,3,0,5,5,0,6,5,0,6,5,0,6,7,0,6,
5,0,6,7,0,6,5,0,5,5,0,5,4,0,3,0,2,0,0,2,0,0,1,0,0,
0,0,1,0,2,3,0,4,3,0,5,3,0,5,3,0,5,1,0,5,2,3,5,0,4,
2,0,5,0,0,8,0,0,14,1,0,27,0,0,55,0,0,87,0,3,147,0,29,209,13,
40,246,24,35,245,22,35,230,29,40,226,39,0,163,0,0,162,0,17,226,20,23,242
,26,25,244,28,26,235,30,29,216,37,24,169,32,31,109,33,12,55,12,0,21,0,0,
19,0,4,25,8,4,17,8,0,6,3,0,2,3,3,7,6,0,8,3,1,15,2,0,22,1,0,20,0,
0,27,0,23,67,18,46,125,36,36,174,16,38,215,21,42,238,42,27,233,36,36,244
,47,3,205,7,0,145,0,1,186,0,32,221,13,30,230,20,25,237,30,21,226,33,9,
189,22,0,135,0,0,80,0,0,43,0,0,23,0,0,10,0,0,6,0,0,7,0,1,6,2,0,2,1,
0,0,2,3,1,6,4,0,5,4,0,5,4,0,5,4,0,3,4,0,3,2,0,1,2,
0,1,2,0,1,0,4,0,0,4,0,0,3,0,0,2,0,0,2,0,0,1,0,0,1,
0,0,1,0,0,1,0,0,4,2,0,7,0,0,7,0,0,8,0,0,14,0,0,19,0,
0,27,0,2,40,0,0,59,0,0,101,0,11,151,0,29,194,12,38,215,25,44,217,39,44,
216,44,0,154,0,0,178,0,30,243,37,16,244,23,10,242,18,7,235,18,26,238,40,
52,220,65,63,155,68,33,83,34,0,32,0,0,28,0,12,37,16,12,28,17,2,11,8,0,4,
4,3,9,9,3,12,7,9,25,12,8,34,9,0,29,0,0,41,0,49,100,44,90,177,80,68,
221,51,39,233,25,28,236,30,8,221,17,31,242,41,22,224,28,0,155,0,0,174,0,
48,221,33,44,220,34,29,210,33,13,183,24,0,143,8,0,101,0,0,63,0,0,40,0,0,
26,0,0,17,0,0,12,0,0,11,0,0,8,0,0,4,0,0,2,0,0,5,1,0,2,1,0,
2,1,0,2,0,0,2,0,0,2,0,0,3,0,0,3,0,0,3,0,0,3,0,0,3,
0,0,3,0,0,3,0,0,2,0,0,2,0,0,1,0,0,1,0,0,2,0,0,6,1,
0,7,0,0,7,0,0,8,0,0,15,0,1,22,3,4,28,4,7,32,2,0,43,0,0,
64,0,0,96,0,7,140,0,36,183,30,59,205,58,62,212,65,0,149,0,4,177,10,39,
234,44,25,234,29,28,245,34,25,238,32,28,232,39,49,212,59,54,146,59,17,
70,18,0,19,0,0,20,0,11,36,15,15,33,21,6,17,13,3,9,9,2,8,8,6,17,11,15,33,
17,11,37,12,0,23,0,0,25,0,29,83,25,73,163,67,62,215,49,38,229,29,41,241,
44,21,222,28,37,233,47,33,218,37,0,153,0,10,165,1,72,220,61,61,205,55,
29,174,33,0,131,8,0,91,0,0,65,0,0,48,0,6,37,3,3,27,3,0,18,2,0,14,0,0,12,
0,0,9,0,0,3,0,0,2,0,0,5,1,0,2,1,0,2,1,0,2,1,0,2,0,0,2,
0,0,3,0,0,3,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,5,
3,1,6,4,3,8,4,3,8,9,10,14,0,1,2,0,4,3,0,8,3,0,4,0,2,
15,6,16,29,20,5,23,11,7,30,14,2,41,10,0,58,0,0,71,0,0,88,0,0,113,
0,25,141,30,43,164,51,7,132,12,37,175,40,54,209,55,44,211,43,34,205,31,
33,201,30,22,181,19,17,146,17,0,80,1,0,40,0,0,26,0,0,30,0,0,26,3,3,21,7,
7,18,12,3,12,9,3,12,9,0,11,3,0,18,2,0,26,0,0,25,0,0,26,0,0,48,
0,2,85,0,22,160,15,22,190,17,34,207,37,38,210,46,41,209,52,43,200,51,35,
173,34,21,146,16,42,157,36,23,131,20,0,100,1,0,81,0,0,65,4,0,51,10,12,
37,15,18,32,19,11,25,12,8,21,11,0,9,1,0,3,0,0,6,4,1,2,4,0,0,2,5,3,
8,8,3,10,7,2,8,6,1,7,4,2,5,4,2,5,4,2,3,4,4,4,4,4,4,
7,5,10,6,4,9,5,3,8,4,2,7,3,0,7,2,0,6,2,0,6,1,0,6,5,
4,10,0,0,4,1,5,6,5,11,11,3,12,9,8,17,14,13,24,18,11,24,17,10,30,
21,7,38,20,0,50,12,0,58,1,0,63,0,0,71,0,0,83,3,1,93,10,0,94,3,
1,108,4,1,120,0,0,125,0,0,127,0,0,128,0,0,117,0,0,97,0,6,73,6,0,
44,0,0,42,4,16,51,21,23,48,27,21,39,25,16,29,20,6,17,11,11,20,15,14,27,
17,21,39,23,25,51,24,12,48,12,0,42,0,3,51,1,4,76,0,0,108,0,0,129,0,
0,135,0,0,129,0,0,123,0,0,120,4,3,110,4,2,98,1,10,95,10,0,78,2,0,
63,0,0,54,3,0,47,11,5,37,16,13,26,17,16,22,18,21,30,25,15,26,18,10,19,
14,8,14,12,3,7,8,0,1,5,1,0,5,3,0,5,6,0,9,6,0,9,6,0,7,
6,1,8,6,1,7,5,3,8,6,4,7,7,5,8,7,4,11,6,3,10,5,3,8,4,
2,7,3,1,6,1,0,5,0,0,4,0,0,4,1,2,6,0,4,5,2,6,7,12,18,
18,21,30,27,13,24,20,4,15,9,7,20,13,3,18,11,5,28,12,8,40,16,8,50,14,
2,53,10,0,53,4,0,52,0,0,52,0,0,65,1,0,59,0,0,58,0,0,71,0,0,
86,0,0,90,0,0,89,0,5,81,6,9,61,12,4,41,7,11,44,13,28,56,31,32,55,
37,29,47,33,23,36,27,10,23,14,20,31,23,25,38,28,33,51,35,36,60,36,26,55,
24,11,45,8,9,48,4,8,63,5,0,83,0,0,96,0,0,94,0,0,80,0,0,67,0,0,
64,0,0,63,0,0,58,0,0,52,0,0,46,0,0,44,5,5,46,16,10,42,21,9,31,
18,8,21,14,8,17,12,4,15,9,1,12,4,15,24,19,21,27,25,6,10,11,8,9,13,
17,14,21,8,5,12,4,0,8,4,0,8,5,0,7,5,0,7,6,1,7,4,2,7,4,
2,5,4,4,6,0,7,0,0,8,0,0,9,0,0,9,0,0,9,0,0,10,0,0,9,
0,0,9,0,0,10,0,0,10,0,0,10,0,4,29,7,27,55,30,13,43,17,0,19,0,
0,19,0,0,15,0,0,22,0,10,34,8,19,48,18,23,56,25,21,58,24,13,55,17,5,
53,11,1,57,8,0,56,2,0,61,0,3,72,7,14,83,18,18,87,22,17,83,21,18,75,
22,11,48,14,1,29,6,2,27,5,11,34,14,14,32,16,16,32,19,19,32,22,13,26,16,
21,34,24,21,35,22,21,38,22,19,38,18,9,33,7,2,28,0,5,34,3,10,48,7,16,
73,18,19,85,23,18,87,24,12,78,17,2,68,7,1,61,7,0,56,5,0,49,4,10,55,
16,12,52,18,17,51,24,19,51,27,14,43,21,3,30,11,0,21,2,0,19,0,0,23,0,
0,26,0,22,51,23,25,51,26,0,14,0,0,8,0,0,9,0,0,7,0,0,9,0,0,
9,0,0,9,0,0,9,0,0,8,0,0,8,0,0,8,0,0,8,0,0,32,0,0,34,
0,0,35,0,0,37,0,0,37,0,0,37,0,0,37,0,0,36,0,0,44,0,0,47,0,
0,48,0,4,69,1,33,98,30,19,86,17,0,52,0,0,40,0,0,27,0,0,26,0,3,
29,0,10,36,0,16,43,10,16,46,12,11,47,11,5,46,6,3,50,8,12,64,18,18,70,
24,11,64,20,6,59,15,8,59,18,2,53,12,0,40,8,6,31,12,0,12,1,0,9,0,
0,11,0,0,10,0,2,16,3,10,24,11,8,22,9,12,26,13,8,22,7,4,18,3,0,
15,0,0,10,0,0,10,0,1,18,0,8,30,9,5,38,9,9,46,13,16,53,19,18,58,
21,20,60,23,18,60,22,12,54,18,6,46,11,18,55,22,15,52,21,13,48,18,8,45,12
,0,36,1,0,27,0,0,25,0,0,30,0,0,42,0,0,57,0,24,91,20,27,93,22,0,
53,0,0,44,0,0,53,0,0,39,0,0,34,0,0,34,0,0,36,0,0,37,0,0,38,
0,0,38,0,0,37,0,0,37,0,44,140,33,45,141,34,46,142,35,45,143,34,44,143,
34,40,142,30,38,140,28,36,140,25,35,142,26,33,140,24,28,137,18,36,145,26
,49,158,39,37,146,27,5,116,0,0,89,0,0,55,0,0,45,0,0,37,0,0,32,0,0,31,0,
0,32,0,0,34,0,0,35,0,0,37,0,8,49,9,11,48,14,0,31,2,0,20,0,0,22,0,
0,21,0,0,12,0,4,13,8,0,3,1,0,3,0,0,7,0,0,5,0,0,11,0,3,
17,2,0,13,0,0,14,0,0,13,0,0,11,0,0,8,0,0,5,0,0,6,0,2,9,
1,4,14,5,0,12,2,0,14,1,0,17,1,4,23,3,8,32,6,9,38,8,6,39,10,
3,38,6,4,41,8,0,37,2,0,33,0,0,34,0,0,37,0,0,41,0,0,50,0,0,
62,0,0,94,0,7,119,0,41,151,30,48,156,37,31,135,20,34,136,24,49,148,39,
44,142,33,41,137,30,43,139,32,45,141,34,48,144,36,48,146,37,48,146,35,
47,147,35,47,147,33,45,187,27,44,189,26,46,191,28,46,193,27,44,194,27,42
,194,24,40,192,22,38,191,21,57,213,41,54,210,38,52,210,37,48,206,33,42,
200,27,41,199,26,28,186,14,10,156,0,0,117,0,3,102,0,1,86,0,0,69,0,0,56,
0,0,50,0,0,48,0,0,48,0,1,43,0,0,32,0,0,18,0,0,7,0,1,3,0,9,4,0,13,5,2,11,
6,3,8,3,9,2,0,6,4,5,9,3,7,6,0,5,0,0,9,0,0,14,0,0,9,0,0,9,0,0,10,
0,0,9,0,0,8,0,1,6,0,4,6,3,6,4,5,4,4,6,7,8,10,2,6,5,
0,5,0,0,8,0,0,13,0,0,23,0,4,35,4,7,44,10,3,45,7,0,43,0,0,
46,0,0,58,0,2,74,0,5,91,2,7,109,9,6,129,4,34,182,23,40,201,23,52,210,
35,48,205,30,44,198,26,48,200,30,51,201,34,48,194,31,44,188,28,45,190,
27,47,192,29,49,194,29,48,195,29,47,194,26,45,192,24,44,191,23,21,195,2,
23,197,4,26,200,6,30,204,11,32,205,17,31,206,17,29,207,11,29,207,11,25,
205,10,26,208,12,35,217,20,27,212,14,18,200,4,35,216,23,45,224,34,31,
200,21,35,183,25,38,169,31,33,146,28,21,122,18,10,99,7,2,84,0,0,78,0,5,
73,0,12,66,4,0,33,0,0,8,0,1,3,0,14,6,4,12,0,2,8,0,0,9,0,1,10,3,10,5,0,7,
6,4,9,3,4,6,0,2,2,0,4,3,0,11,11,0,5,3,0,8,0,0,10,0,0,9,0,0,7,0,2,5,0,
5,5,3,7,4,13,7,1,11,3,1,2,2,3,0,2,3,0,0,5,0,0,10,0,0,
24,0,8,46,5,16,66,15,14,74,12,6,76,4,7,84,4,18,103,12,31,126,24,40,146,
35,50,165,44,48,186,39,35,203,19,34,217,15,28,209,10,21,199,1,33,207,13,
44,215,23,42,210,26,38,206,22,35,204,17,36,205,16,35,206,16,34,204,17,29
,201,17,25,198,8,23,196,0,21,195,0,19,207,8,21,208,7,25,208,4,24,204,8,
30,203,26,1,173,0,25,202,12,26,206,13,11,190,10,24,206,25,16,201,9,12,
197,5,29,211,30,31,210,33,21,195,20,27,195,22,39,196,29,36,182,23,9,142,
0,35,161,26,44,163,33,47,164,34,21,136,7,22,
125,8,15,96,3,0,52,0,0,18,0,7,14,7,5,4,9,1,5,8,2,19,9,0,7,
0,0,1,0,10,6,5,12,10,11,0,0,4,14,16,29,0,1,24,0,0,30,0,0,28,
0,8,21,0,4,0,15,28,2,3,14,0,2,10,0,0,2,0,13,10,27,4,2,16,5,
7,0,17,22,0,1,5,0,0,9,0,0,12,0,2,34,0,5,56,0,33,106,24,36,129,
25,34,143,24,34,153,27,30,154,22,30,154,22,38,160,26,48,169,32,47,182,
30,22,187,5,30,210,15,28,201,11,29,198,11,37,202,14,33,195,14,32,192,22,
29,189,19,31,196,14,21,191,4,17,190,4,26,199,21,34,205,39,29,203,20,24,
203,0,26,209,0,17,198,7,13,193,0,26,199,9,32,200,17,35,196,32,47,206,44,
41,202,28,45,207,33,38,200,36,43,208,43,
28,195,20,15,182,7,24,184,24,18,175,22,6,159,7,8,156,6,2,146,0,22,161,
16,16,153,13,26,163,24,6,141,3,2,132,0,0,123,0,23,133,12,32,118,19,13,
75,2,0,29,0,3,22,0,12,25,16,0,10,4,0,9,0,0,12,2,0,2,0,1,0,0,3,5,0,
0,3,0,3,12,7,0,3,7,0,6,22,0,11,27,7,22,29,0,6,0,0,14,0,0,
9,0,0,9,0,0,6,0,10,10,22,0,2,11,0,5,0,0,12,0,6,19,0,7,23,
0,13,38,6,11,50,6,19,79,15,26,108,23,26,132,21,13,137,7,11,147,5,20,156,
10,20,151,9,16,141,5,31,143,15,42,164,29,12,158,0,15,171,2,19,170,3,28,
175,7,38,181,11,39,180,14,45,183,35,45,188,38,50,201,34,57,214,37,40,201
,23,28,189,21,36,196,48,31,192,34,19,186,0,26,196,0,25,178,10,14,165,2,
23,167,10,24,163,10,6,139,0,33,163,13,0,126,0,0,125,0,0,121,0,2,132,0,0,
128,0,0,123,0,9,128,0,17,131,9,20,131,10,28,136,24,7,113,15,0,108,13,0,
106,0,0,127,17,6,138,26,23,146,39,15,121,23,16,104,17,19,88,8,45,101,28,
28,75,7,0,35,0,4,36,0,15,40,18,2,21,17,0,8,14,13,12,18,4,3,0,14,22,0,14,
31,0,11,38,0,0,28,0,3,40,0,3,43,6,2,41,12,2,37,13,3,33,9,0,22,0,13,31,9,
5,16,0,5,11,1,0,7,0,6,23,4,0,18,0,19,43,7,15,43,2,13,49,5,7,53,6,32,94,
43,28,109,43,0,94,8,4,120,13,16,141,13,15,141,5,10,129,0,10,121,1,13,111
,12,7,107,9,12,122,9,10,126,3,17,129,1,13,125,0,10,122,0,23,132,0,27,136
,11,20,131,10,4,125,0,20,149,0,8,145,0,0,137,0,22,157,29,34,169,49,30,
167,38,37,175,40,34,151,19,25,140,13,28,137,20,29,134,15,5,109,0,19,120,
0,23,120,0,29,125,0,38,132,0,41,134,0,35,127,0,27,114,0,23,103,0,17,95,0
,16,90,0,17,90,0,54,127,45,36,120,45,19,123,36,0,111,20,0,91,3,0,94,14,8
,93,26,37,103,41,56,109,41,26,73,0,19,70,0,40,90,0,53,96,14,38,70,7,25,
40,9,44,52,31,29,35,7,16,27,0,27,44,0,27,53,0,13,49,0,12,54,0,27,72,0,23
,67,0,31,72,6,34,71,20,14,46,5,15,43,5,33,58,16,25,47,0,31,49,0,39,59,0,
41,70,6,20,52,0,37,69,4,48,82,21,26,63,9,29,73,24,40,96,49,18,88,34,44,
129,61,23,121,34,1,106,1,0,99,0,8,107,0,27,119,8,38,120,22,38,115,21,29,
107,6,19,96,0,34,110,1,30,108,0,22,101,0,38,120,0,41,122,0,25,109,0,18,
110,0,16,116,0,20,129,0,21,133,0,18,128,5,26,133,37,31,136,54,26,130,55,
18,94,6,27,102,17,37,108,32,56,126,38,45,116,0,31,101,0,102,168,36,109,
171,38,118,179,39,110,169,15,111,169,0,122,176,4,134,179,34,140,181,41,
137,178,24,123,166,25,34,78,0,10,63,0,27,100,18,32,116,39,33,118,53,33,
110,58,20,78,37,14,60,14,40,79,14,42,81,0,80,126,4,89,137,1,92,136,1,113
,147,24,100,117,21,69,84,0,137,164,57,127,161,38,131,165,27,132,167,15,
118,154,0,136,171,7,154,185,32,149,177,41,118,144,35,75,98,10,6,28,0,24,
50,0,77,107,17,99,135,25,117,159,25,130,174,25,133,176,24,118,159,19,120
,157,44,140,174,88,70,102,39,70,107,56,50,94,45,24,78,26,0,65,3,1,74,5,
19,96,18,39,115,27,39,111,12,38,105,0,67,129,4,107,162,34,93,138,19,52,
92,0,92,132,18,131,173,47,125,175,18,129,182,14,128,184,25,127,187,29,
130,197,32,107,180,5,131,212,21,126,210,34,55,136,5,23,102,10,37,111,50,
24,97,52,29,84,26,20,75,18,0,44,0,0,46,0,0,54,0,20,80,0,173,230,87,204,
255,110,207,255,113,192,240,78,194,243,40,208,252,51,213,249,87,215,249,
92,208,244,60,187,225,54,112,150,29,47,90,0,37,90,10,0,58,0,0,36,0,0,37,
0,0,51,9,26,75,20,58,103,22,21,68,0,77,129,0,160,213,47,208,255,85,198,
242,69,126,160,1,83,120,0,199,248,79,196,250,76,200,249,72,212,255,78,
204,244,60,216,252,68,215,246,67,212,239,72,201,226,82,118,143,16,25,53,
0,82,116,6,159,201,77,191,243,98,201,255,87,196,255,69,206,255,69,217,
255,89,205,248,107,190,229,122,47,84,7,27,65,8,16,58,8,29,77,27,0,53,
0,0,62,0,0,60,0,0,57,0,25,89,0,95,157,20,163,223,63,200,252,89,177,215,
70,96,127,0,145,174,58,214,247,117,207,248,82,192,241,53,189,240,51,204,
255,70,203,255,78,179,241,54,207,255,81,184,254,80,67,134,5,4,68,0,15,
75,23,8,68,32,0,40,0,0,54,9,0,58,8,25,88,17,34,103,0,83,155,17,181,255,
87,172,244,72,154,217,68,164,226,57,192,255,29,201,255,31,177,230,52,
170,222,51,188,247,35,197,255,52,143,197,51,31,80,0,8,52,0,0,36,0,12,62,
13,25,82,31,19,86,17,16,91,0,7,83,0,94,168,23,184,249,83,184,245,62,189,
249,53,184,248,37,127,197,0,129,204,0,188,255,49,173,244,44,152,216,32,
172,230,57,171,223,53,172,220,48,167,212,31,193,237,54,212,255,78,148,
191,24,86,132,0,160,212,68,186,244,98,169,234,78,163,236,61,155,229,44,
155,219,34,168,226,53,157,211,61,131,183,59,6,56,0,0,35,0,0,41,0,16,69,
23,32,91,37,14,80,8,2,72,0,33,109,0,118,194,33,194,255,84,204,255,75,176
,243,42,198,252,78,104,150,2,135,178,60,170,219,91,157,215,42,174,239,35
,181,251,33,183,254,36,162,230,31,152,221,34,159,228,51,130,199,46,50,
117,2,0,62,0,0,57,0,0,58,10,56,103,67,56,107,66,46,103,52,53,117,43,43,
115,7,119,198,55,162,245,67,132,211,34,59,128,0,105,173,12,163,239,7,161
,235,2,100,163,0,81,145,0,133,207,0,180,253,52,127,188,49,39,89,0,60,97,
27,58,91,36,65,104,51,55,108,40,39,113,16,40,129,3,107,200,49,162,249,82
,170,244,69,129,198,11,175,243,42,182,255,38,110,199,0,139,227,0,172,240
,43,126,183,16,61,115,0,67,120,0,66,119,0,70,127,0,86,148,0,152,216,31,
174,240,46,148,213,25,127,190,21,191,251,101,140,198,62,68,125,0,66,126,
0,82,139,6,73,126,0,62,113,0,60,111,0,78,130,20,52,102,13,55,107,35,42,
95,39,28,83,28,41,102,35,35,101,13,80,152,27,152,229,71,167,248,58,131,
216,3,132,217,0,176,252,40,162,221,51,80,132,0,91,142,39,75,132,19,63,
129,0,139,212,17,169,245,35,146,219,16,61,125,0,70,130,0,64,121,0,58,114
,5,62,116,38,55,110,52,45,103,55,52,110,69,0,32,0,0,34,0,0,21,0,0,40,0,
26,95,0,141,219,73,147,229,59,71,149,0,20,89,0,110,177,36,169,243,42,132
,206,7,8,75,0,10,80,0,140,219,52,165,241,81,63,120,25,29,70,10,43,73,23,
38,65,12,0,35,0,12,61,0,66,138,10,121,208,52,146,240,66,141,232,51,146,
224,50,139,212,35,149,223,40,149,231,33,81,176,0,155,235,42,164,198,75,
37,52,0,10,32,0,0,24,0,3,50,0,39,104,4,37,119,0,124,217,40,145,241,45,70
,162,0,155,232,64,161,223,88,66,110,15,0,26,0,7,23,0,25,39,3,40,63,21,23
,50,5,0,15,0,0,20,0,6,46,0,18,62,0,31,80,15,10,62,0,21,77,0,91,154,40,
152,221,76,162,239,65,146,228,29,133,218,1,140,228,2,164,242,44,108,164,
27,3,50,0,0,24,0,0,44,0,27,92,0,133,203,45,166,232,70,94,154,7,15,62,0,9
,45,0,0,29,0,0,18,0,0,16,0,0,21,6,0,29,12,0,34,16,0,13,0,0,23,0,0,30,0,0
,43,0,53,123,0,136,216,65,131,215,57,51,131,0,26,98,0,118,190,56,143,220
,46,78,155,0,0,70,0,39,117,8,140,230,83,124,208,71,40,102,25,4,52,2,3,44
,0,0,39,0,14,61,0,82,139,22,139,213,68,162,247,84,149,241,68,142,237,59,
140,233,57,139,232,56,133,226,47,91,190,3,89,193,0,154,235,70,127,156,66
,30,37,0,1,20,0,0,18,0,9,63,11,6,81,0,57,155,20,125,237,65,92,205,11,65,
175,0,144,235,69,126,197,67,28,73,0,0,13,0,0,8,0,15,20,14,44,60,50,29,54
,35,0,23,0,0,21,0,0,25,0,0,34,0,23,76,0,37,94,0,120,182,71,142,209,80,
163,235,87,164,243,74,154,239,50,148,240,35,147,244,27,149,235,50,73,131
,19,10,57,0,0,34,0,0,39,0,34,103,0,141,214,73,144,209,79,57,110,6,37,72,
16,49,72,44,54,68,51,39,50,44,12,23,25,0,9,9,0,12,2,0,21,6,13,35,0,22,50
,1,33,72,25,38,95,16,115,194,53,131,222,59,74,163,19,0,61,0,36,118,0,131
,213,69,122,202,51,32,115,0,0,85,0,79,170,49,134,238,91,72,169,36,0,60,0
,0,30,0,0,56,0,27,100,0,86,161,34,145,219,80,132,205,62,84,162,16,65,149
,0,63,161,0,79,191,19,119,243,59,113,239,51,50,175,0,110,227,37,139,233,
77,55,104,13,1,34,0,0,25,0,0,32,0,24,97,24,0,84,0,96,204,66,130,252,83,
60,182,0,80,199,11,128,234,64,79,167,28,0,54,0,0,33,0,0,21,0,0,22,0,2,
37,0,18,59,15,7,52,9,0,36,0,0,26,0,0,55,0,64,135,33,115,188,70,138,213,
86,110,186,54,84,164,31,68,152,12,66,160,2,98,201,24,120,232,32,115,215,
41,25,89,0,21,73,11,5,64,0,0,68,0,69,151,15,150,231,90,101,169,56,1,53,0
,0,22,0,12,29,21,36,46,37,52,60,49,52,62,54,41,55,42,24,47,21,14,39,9,47
,79,30,31,71,21,12,65,19,31,104,23,108,206,57,105,214,47,33,139,5,0,70,0
,45,145,0,124,220,68,90,182,47,9,104,0,19,120,0,93,204,65,97,220,67,17,
135,0,0,49,0,0,58,0,29,129,13,90,193,60,118,217,75,105,196,57,40,119,0,0
,60,0,0,67,0,0,84,0,15,146,0,80,228,46,68,222,30,35,185,0,101,237,51,98,
214,55,10,99,0,0,68,0,0,66,0,0,74,0,35,133,32,10,117,1,90,208,70,84,209,
53,25,153,0,68,195,18,88,207,39,40,151,0,0,78,0,0,93,0,0,75,0,0,66,0,0,
66,0,18,85,6,9,82,3,0,67,0,0,83,0,50,138,36,106,196,83,129,220,101,69,
157,37,36,124,4,8,99,0,0,83,0,0,101,0,59,174,19,92,219,42,73,188,33,0,68
,0,18,80,15,9,84,0,13,101,0,91,189,40,127,225,78,46,129,23,0,41,0,0,28,0
,0,17,1,0,16,0,7,27,0,23,46,20,35,62,29,31,69,20,26,67,11,39,97,49,23,89
,41,0,76,28,38,140,57,84,211,59,69,206,38,1,134,7,0,118,0,78,204,45,104,
224,65,53,163,40,9,120,0,52,176,30,97,232,68,62,207,40,0,141,0,0,135,0,
35,165,31,89,220,78,90,217,76,54,169,38,22,125,8,3,88,0,3,87,1,0,94,0,0,
115,0,35,181,34,72,239,64,29,204,15,41,215,21,81,241,55,73,224,47,74,221
,55,67,211,53,69,208,55,69,202,57,93,221,84,90,216,81,97,221,89,57,182,
46,30,156,10,84,213,58,104,237,70,86,226,55,59,202,32,81,228,62,67,215,
57,75,213,68,77,189,63,52,158,36,26,139,5,30,148,8,68,190,53,96,217,88,
75,191,80,45,155,58,8,112,25,4,107,18,6,110,11,2,115,1,21,145,15,79,211,
73,82,224,78,26,157,27,0,87,0,11,94,12,6,103,0,29,140,9,97,221,61,94,218
,62,21,131,16,7,101,17,16,90,31,26,86,34,32,84,20,31,81,18,27,80,26,26,
86,26,26,98,16,29,105,14,2,57,18,10,72,31,5,84,39,59,157,80,69,194,54,40
,174,25,0,114,5,7,128,22,92,209,69,71,179,44,13,108,18,2,98,9,59,169,44,
79,201,56,34,166,21,0,133,0,56,189,44,75,203,64,81,200,72,30,136,25,0,82
,0,0,69,0,2,65,10,15,80,26,0,78,12,20,118,31,69,192,75,74,212,73,17,166,
14,50,202,42,60,208,50,62,210,51,66,219,51,67,219,49,72,217,52,75,210,56
,70,192,58,78,189,71,37,139,37,0,92,0,0,90,0,37,147,26,72,191,49,82,212,
54,71,213,49,67,218,53,57,212,56,74,217,75,88,201,83,53,153,41,
41,150,23,66,179,45,87,204,72,68,181,63,10,115,20,0,78,1,0,70,7,0,73,11,
2,85,13,12,101,17,41,141,42,82,194,86,59,182,68,0,110,8,0,67,0,0,67,0,7,
91,3,46,145,36,92,205,73,64,176,50,6,107,11,27,115,39,7,79,13,12,72,8,16
,67,0,13,61,0,6,57,14,0,58,8,0,64,0,0,67,0,0,8,0,0,19,0,0,36,0,14,
83,20,31,120,12,16,113,0,1,92,12,26,108,34,37,110,18,19,80,0,0,32,0,0,31
,0,21,80,12,27,97,11,2,81,0,3,92,0,36,135,19,28,117,7,21,81,9,0,30,0,
0,11,0,9,15,11,0,4,0,0,8,0,0,14,0,9,56,1,52,109,41,32,100,23,0,
77,0,16,102,13,15,111,14,13,116,7,2,111,0,13,118,0,22,121,0,40,130,17,20
,96,8,11,78,9,0,46,0,0,23,0,0,28,0,0,56,0,16,92,0,30,116,5,36,131,15,
9,111,1,2,107,14,10,104,28,12,77,21,4,58,8,18,79,20,28,95,28,33,103,31,
23,91,18,0,43,0,0,28,0,0,27,0,0,19,0,0,16,0,0,28,0,19,61,11,39,93,
31,31,98,21,15,74,6,0,24,0,0,14,0,0,37,3,23,75,27,39,103,42,11,80,17,
0,37,0,0,51,5,44,82,31,38,64,16,24,40,1,7,21,0,0,11,16,0,15,12,0,
29,0,0,38,0,1,11,0,0,15,0,7,37,9,10,56,9,41,101,27,20,84,8,0,58,
4,0,33,0,0,29,0,0,29,0,0,18,5,0,10,0,0,26,0,0,32,0,0,42,0,
27,82,24,19,80,2,0,49,0,0,22,0,1,4,0,18,4,17,17,0,16,4,0,2,13,
16,5,18,32,6,33,55,17,36,58,20,0,17,0,0,19,0,0,17,0,0,37,0,0,36,
0,0,42,0,0,56,0,0,60,0,29,83,8,6,49,0,0,14,0,0,16,2,0,18,9,
0,21,2,0,13,0,0,26,0,0,45,0,16,74,0,0,49,0,0,47,0,0,28,0,0,
14,0,0,13,0,0,27,7,0,15,0,1,38,4,38,75,34,15,48,5,0,19,0,4,19,
0,2,10,0,0,3,0,1,4,0,6,17,0,6,25,0,19,47,6,50,75,36,36,45,26,
12,20,9,0,18,4,0,17,0,0,21,0,0,20,0,0,14,0,0,23,0,0,20,0,34,
46,10,64,68,45,62,63,57,31,34,51,1,11,23,0,12,0,0,21,0,7,25,9,33,54,
35,49,74,53,31,61,33,1,35,0,0,21,0,0,19,0,0,22,0,0,19,0,0,20,0,
0,16,0,0,19,0,2,36,3,19,57,18,28,69,29,32,68,30,0,20,0,0,15,0,0,
7,0,0,3,0,3,6,0,7,13,3,4,17,0,0,15,0,51,71,44,29,52,23,7,26,
0,0,11,0,0,7,0,0,10,0,0,13,0,0,15,0,0,22,0,0,23,0,44,77,30,
23,49,10,0,16,0,0,6,0,4,9,3,2,4,3,3,5,0,0,6,0,7,21,0,0,
19,0,49,77,37,28,60,19,0,19,0,0,28,0,0,11,0,1,8,1,0,8,0,0,8,
0,0,15,0,8,32,10,29,53,29,44,68,44,0,13,0,0,13,0,2,13,5,2,11,6,
0,6,2,0,4,0,4,11,4,9,21,9,56,75,55,31,57,32,4,32,7,0,20,0,0,
17,0,0,15,0,0,13,0,0,11,0,0,12,0,0,12,0,7,20,2,29,43,30,51,66,
61,52,69,61,25,46,29,0,20,0,27,52,30,30,55,33,25,50,29,11,34,14,0,18,0,
0,11,0,0,11,0,0,14,0,0,23,3,0,14,0,0,11,0,0,24,0,19,52,21,29,
64,31,10,46,10,0,16,0,0,10,0,0,6,0,0,7,0,0,10,0,0,9,0,0,11,
0,0,24,0,7,38,7,25,56,25,13,42,12,0,23,0,0,13,0,0,9,0,0,10,0,
1,7,0,0,9,0,0,13,0,0,24,0,39,66,35,13,36,10,0,11,0,0,4,0,0,
2,0,0,0,0,1,1,0,2,4,0,0,9,0,0,8,0,33,56,30,27,54,21,0,16,
0,0,21,0,0,7,0,0,5,0,0,5,0,0,7,0,0,8,0,0,21,0,10,38,13,
22,52,26,6,36,12,0,18,0,0,10,0,0,9,0,0,9,0,0,3,0,0,2,0,0,
9,1,0,15,0,21,56,24,35,68,37,8,39,8,0,14,0,0,18,0,0,19,0,0,9,
0,6,25,3,0,17,0,0,11,0,0,15,0,9,30,11,27,50,30,44,67,49,54,77,59,
37,66,38,23,52,24,9,37,12,8,34,9,10,35,13,10,34,12,9,33,11,9,33,11,9,
33,11,16,41,19,24,52,27,32,62,34,37,70,39,33,68,35,18,54,18,4,38,5,14,
42,17,15,40,18,15,43,18,13,46,17,5,42,9,0,42,6,14,60,23,36,82,45,9,55,
18,5,49,13,2,42,8,0,37,6,4,34,10,5,33,10,10,31,12,5,33,8,0,41,1,19,
66,20,44,89,50,16,56,22,13,46,19,13,38,19,12,34,21,17,37,26,15,35,24,20,
42,29,10,35,16,5,38,11,28,68,34,42,87,46,6,53,9,6,49,4,11,41,7,14,39,7,
13,40,5,6,41,1,5,42,1,7,48,4,14,60,14,20,67,21,38,85,39,12,59,15,0,
39,0,4,42,5,13,46,15,12,41,13,10,36,9,11,40,12,18,49,18,16,49,18,34,65,
34,52,83,52,43,72,42,15,41,12,6,29,3,15,38,12,2,25,0,3,25,2,9,31,8,
13,37,15,10,34,12,7,32,10,19,44,22,35,60,38,52,83,52,42,73,42,40,69,39,
49,78,50,56,82,55,52,78,53,51,75,53,55,79,57,49,73,51,61,86,64,71,97,72,
62,91,63,46,77,46,38,69,37,41,75,42,49,83,50,47,77,49,44,74,46,40,73,44,
39,76,43,41,81,46,44,88,52,49,95,56,53,101,61,38,84,47,40,84,49,43,83,
49,45,82,51,46,78,54,49,77,54,53,76,56,50,80,54,26,71,30,56,108,60,60,
107,65,34,76,40,42,76,49,45,74,52,41,65,49,50,74,60,42,64,51,52,76,60,
34,63,41,36,70,43,42,84,48,71,118,76,45,94,47,31,77,31,41,71,35,45,71,
36,43,73,35,39,74,34,36,75,31,34,77,31,35,81,34,38,86,38,56,104,56,48,
96,48,40,86,40,38,79,37,38,76,37,38,72,37,41,72,40,42,73,41,47,78,47,49,
80,49,48,77,49,47,76,46,61,87,58,72,97,68,63,86,60,44,67,41,59,82,56,54,
77,51,55,78,52,57,81,55,50,76,51,41,67,40,43,71,46,55,84,56,0,15,0,0,14,
0,0,15,0,0,18,0,0,13,0,0,11,0,0,17,0,10,32,9,45,67,46,29,53,31,11,35,11,
0,24,0,0,22,0,0,22,0,0,21,0,0,19,0,0,23,0,0,20,0,0,16,0,0,21,0,11,40,9,
26,57,23,13,47,14,0,25,0,0,14,0,0,16,0,0,15,0,0,12,0,0,9,0,0,9,0,0,10,0,
0,16,0,0,30,0,27,65,24,9,43,6,0,18,0,0,22,0,2,21,2,0,9,0,5,19,6,
0,10,0,8,22,7,0,12,0,0,21,0,0,21,0,25,61,23,17,55,14,0,25,0,0,
14,0,1,12,0,1,16,0,0,17,0,0,18,0,0,19,0,0,20,0,0,23,0,0,26,
0,14,48,15,25,56,24,9,38,8,0,18,0,0,15,0,0,20,0,0,21,0,0,14,0,
0,23,0,0,23,0,0,16,0,0,20,0,18,38,13,36,56,31,44,64,39,5,25,0,0,
12,0,0,10,0,0,12,0,0,19,0,0,18,0,0,17,0,0,18,0,0,23,0,0,23,
0,0,21,0,0,17,0,0,13,0,0,20,0,22,41,21,44,63,43,38,57,38,14,33,14,
0,9,0,0,8,0,0,13,0,0,16,0,0,10,0,0,9,0,0,9,0,0,8,0,0,
8,0,5,21,0,25,44,16,35,54,26,13,33,6,0,9,0,0,15,0,0,14,0,0,13,
0,2,10,0,4,7,0,6,8,0,10,10,2,8,14,0,20,40,12,39,66,31,3,26,0,
0,11,0,0,10,0,0,6,0,0,2,0,0,3,0,0,2,0,3,9,0,0,6,0,0,
13,0,0,9,0,20,44,12,34,61,26,4,24,0,0,3,0,1,0,0,0,1,0,0,3,
0,0,5,0,0,6,0,0,7,0,0,7,0,0,8,0,17,36,17,38,55,37,24,41,23,
2,16,1,0,6,0,0,8,0,0,10,0,0,14,0,0,8,0,0,8,0,1,18,0,0,
15,0,0,7,0,14,29,8,53,68,47,32,47,24,14,32,8,0,15,0,0,11,0,0,17,
0,0,21,0,0,17,0,0,12,0,0,13,0,0,13,0,0,11,0,0,12,0,4,23,3,
22,39,21,34,48,33,37,49,35,7,19,7,0,11,0,0,5,0,0,7,0,0,8,0,0,
6,0,0,8,0,0,12,0,1,8,0,3,8,0,16,21,1,37,42,22,40,47,29,24,31,
13,6,13,0,0,7,0,0,3,0,0,2,0,1,1,0,4,0,0,6,0,0,7,0,0,
7,0,0,4,0,0,44,53,32,49,63,37,3,15,0,7,14,0,4,6,0,2,1,0,4,
0,0,9,1,0,9,1,0,6,1,0,9,6,1,6,8,0,0,5,0,17,29,7,57,71,
46,25,34,15,8,2,4,10,0,8,10,0,8,9,0,7,8,1,8,5,3,6,4,4,4,
2,4,1,1,6,2,14,19,15,33,38,34,41,46,42,32,34,29,13,15,10,4,6,1,3,
8,2,0,4,0,4,16,4,2,14,2,0,5,0,0,5,0,10,18,5,15,23,8,3,14,
0,57,68,51,47,60,42,23,38,17,0,12,0,0,8,0,0,10,0,0,19,0,0,20,0,
0,17,0,0,16,0,0,17,0,11,28,10,37,51,36,50,60,49,35,42,34,8,15,7,5,
10,4,0,4,0,0,2,0,2,7,1,2,7,1,0,3,0,0,3,0,0,6,0,2,8,
0,3,10,0,27,34,18,54,61,45,40,44,30,0,2,0,0,2,0,7,10,1,3,4,0,
3,2,0,5,1,0,7,2,0,9,3,3,12,3,4,10,1,2,4,1,0,45,53,38,41,
54,34,0,5,0,8,14,2,0,3,0,1,0,0,3,0,0,9,3,5,7,1,3,3,0,
0,5,4,2,0,2,0,0,3,0,5,16,0,63,76,56,31,39,24,10,6,7,11,1,10,
9,0,7,7,0,7,7,0,7,7,2,6,5,3,4,4,4,2,8,10,7,0,1,0,11,
13,8,42,44,39,45,50,44,20,25,18,1,6,0,3,8,1,1,6,2,0,2,0,0,2,
0,8,13,7,8,10,5,0,2,0,0,2,0,11,14,5,3,6,0,32,38,26,50,58,45,
34,47,30,13,27,10,3,20,1,0,15,0,0,8,0,0,7,0,5,22,4,33,47,32,45,
57,45,35,45,36,16,21,15,2,4,1,0,0,0,7,5,8,6,4,7,3,1,4,0,0,
0,0,0,0,2,2,2,3,5,4,2,8,4,0,5,0,26,44,30,48,64,51,25,41,28,
0,11,1,0,6,0,0,9,1,0,8,2,6,15,10,0,3,1,9,15,13,0,3,1,0,
2,0,4,10,8,0,2,0,4,13,8,55,73,59,15,36,19,0,11,0,0,9,0,0,7,
0,0,7,3,0,7,9,0,2,5,0,5,8,0,6,5,0,3,2,0,9,2,0,14,4,
0,14,0,15,36,19,53,71,55,0,4,0,4,11,3,0,6,0,0,3,0,6,13,5,0,
7,0,0,4,0,2,13,0,0,9,0,0,12,0,0,10,0,1,16,0,26,44,22,47,65,
43,23,43,18,0,7,0,0,2,0,7,7,9,9,7,10,3,1,2,5,1,2,11,7,6,
10,6,5,1,0,0,1,0,0,0,1,0,23,26,19,54,60,50,52,60,49,18,30,18,0,
13,0,4,18,5,17,31,16,27,41,26,38,48,37,32,42,33,15,20,14,0,1,0,2,2,
4,14,12,15,3,1,6,1,0,4,1,0,4,1,0,2,3,1,4,4,4,4,5,5,5,
1,7,3,13,30,20,23,45,32,23,43,31,5,22,12,0,6,0,0,6,0,0,7,3,0,
4,0,0,5,4,0,3,2,0,9,8,0,3,2,0,6,2,0,12,8,0,7,3,19,34,
27,42,62,50,9,31,18,0,12,1,0,10,2,0,7,2,0,6,4,0,8,9,0,4,5,
0,7,9,0,6,7,0,4,2,0,7,2,0,12,4,0,14,3,13,35,22,49,70,55,4,
21,5,2,16,1,0,7,0,0,5,0,0,10,0,0,5,0,0,6,0,0,8,0,0,6,
0,0,8,0,0,7,0,0,10,0,9,29,4,27,50,22,22,47,18,7,25,3,0,2,0,
4,4,6,7,5,10,4,2,5,4,0,3,4,0,1,3,0,0,3,0,0,10,6,5,6,
5,3,1,2,0,7,9,4,31,36,29,50,57,49,34,44,35,4,16,6,49,63,50,32,46,
33,16,26,17,7,17,8,7,12,6,4,9,5,4,5,7,6,6,8,8,8,10,7,7,9,
5,5,7,3,4,6,3,5,4,3,8,4,5,10,6,3,13,5,45,61,51,29,46,36,8,
24,14,0,7,0,0,5,0,4,10,8,5,9,8,1,5,6,0,4,5,0,6,6,2,8,
6,0,3,0,1,12,6,0,12,5,1,14,5,39,55,45,30,46,35,7,23,12,0,12,2,
0,13,6,0,8,4,0,6,5,2,8,8,0,5,5,1,6,9,0,6,6,0,3,2,0,
6,2,0,12,5,0,13,3,14,30,19,45,61,48,23,39,26,1,15,2,0,6,0,0,10,
0,0,9,0,0,6,0,2,9,1,4,9,2,1,6,0,3,9,0,1,9,0,0,8,0,
3,17,0,17,34,15,32,51,31,43,57,40,0,5,1,0,2,1,2,2,4,5,5,5,7,
5,6,4,2,3,4,2,3,7,6,4,4,3,1,13,13,11,8,9,4,0,1,0,7,12,
6,39,46,39,46,56,48,32,42,34,31,48,32,9,26,10,0,6,0,0,5,0,0,10,1,
2,12,4,0,2,0,0,2,0,0,5,1,1,7,3,0,6,2,0,6,0,0,5,0,0,
11,1,11,23,11,19,33,20,42,55,45,18,31,21,0,6,0,0,3,0,0,2,0,3,5,
2,5,3,4,3,1,2,0,0,0,3,5,2,0,2,0,0,3,0,2,14,2,0,11,0,
6,23,7,52,69,53,11,25,10,0,9,0,0,6,0,0,8,0,0,2,0,0,2,0,0,
2,0,0,1,0,0,1,0,0,1,0,0,2,0,0,3,0,0,6,0,0,5,0,3,15,
3,26,40,27,40,56,43,1,17,4,0,5,0,0,9,1,0,3,0,0,2,0,6,8,5,
2,2,0,4,3,1,3,3,1,4,5,0,0,4,0,0,5,0,4,16,4,26,40,27,47,
61,48,17,29,19,3,13,5,0,4,0,0,5,0,0,7,0,0,2,0,0,2,0,3,6,
0,0,2,0,0,3,0,6,11,4,5,12,4,0,4,0,0,6,0,13,25,15,34,47,37,
0,18,0,0,18,0,0,18,0,0,18,0,0,11,0,0,6,0,0,8,0,1,15,2,0,
6,0,0,9,0,0,12,0,0,12,0,0,13,0,3,27,5,23,49,24,42,66,42,16,30,
13,6,17,1,0,6,0,1,4,0,4,5,0,3,3,0,6,1,0,9,4,0,3,0,0,
4,6,0,0,3,0,1,10,0,6,20,0,2,20,0,20,43,15,58,78,51,6,18,0,0,
7,0,2,9,0,5,11,0,2,4,0,2,4,0,6,7,0,3,4,0,3,4,0,6,8,
0,4,6,0,5,9,0,9,13,0,1,8,0,2,9,0,14,25,8,55,73,57,13,34,19,
0,15,4,4,15,7,0,3,0,0,2,1,6,6,8,3,0,2,8,1,8,6,1,5,6,
1,5,4,4,4,0,2,0,0,6,0,12,22,14,28,41,31,43,64,45,18,42,20,0,20,
0,0,14,0,0,13,0,0,8,0,0,6,0,0,8,0,2,15,0,0,6,0,0,6,0,
0,17,0,1,18,0,0,8,0,0,8,0,2,23,6,0,26,0,0,26,0,0,29,1,2,
30,5,1,27,2,0,22,0,1,25,3,7,31,9,0,24,2,1,27,2,0,29,1,0,29,
0,0,30,0,5,41,5,19,57,20,33,67,32,0,24,0,3,22,0,8,25,6,13,26,8,
11,22,6,9,17,2,10,16,2,15,21,7,10,19,2,11,23,3,3,18,0,5,28,0,0,
29,0,0,32,0,20,59,15,31,66,26,5,29,0,4,20,0,7,23,0,9,25,0,5,19,
0,8,20,0,12,24,4,7,19,0,7,19,0,11,23,3,9,21,1,10,24,1,13,28,5,
6,22,0,2,18,0,7,30,2,37,70,39,13,50,19,0,32,5,0,26,3,0,20,1,6,
20,5,12,22,11,10,17,9,10,15,9,10,15,9,10,17,9,9,19,10,6,18,6,2,19,
3,5,24,5,7,32,10,35,68,37,19,54,21,4,38,5,0,30,0,0,28,0,0,26,0,
1,26,0,2,27,0,9,32,6,2,25,0,0,20,0,0,22,0,3,27,3,5,31,6,1,
26,4,0,22,0,50,86,50,42,78,42,37,73,37,42,77,44,50,84,51,50,83,52,46,79,
48,44,78,45,50,85,52,48,84,48,47,85,46,49,90,48,51,96,53,51,99,51,48,96,
48,43,90,44,36,81,42,43,85,49,47,87,53,48,83,51,47,80,51,49,79,51,51,80,
52,51,80,52,53,84,53,46,81,48,39,80,40,44,91,45,28,82,30,31,92,33,55,
121,59,37,98,39,43,89,43,41,79,40,42,80,41,43,81,42,40,76,40,44,80,44,
50,84,51,44,78,45,44,78,45,47,81,46,42,78,42,42,78,40,47,85,46,42,80,41,
38,76,37,41,87,41,49,110,51,47,113,49,36,97,38,28,83,28,36,84,36,45,86,
42,48,85,44,53,85,48,49,79,45,52,82,48,51,83,46,47,81,44,45,82,41,43,84,
40,42,85,39,38,84,37,45,92,46,52,98,52,54,100,54,50,93,48,47,85,44,47,
84,43,49,83,46,50,84,47,47,78,44,55,86,52,55,86,52,44,78,45,41,75,42,48,
82,49,51,84,53,46,81,49,1,32,1,5,36,
5,13,42,14,15,44,16,11,37,12,3,32,4,6,35,7,13,44,13,6,40,7,2,38,2,
3,41,2,15,56,14,30,71,29,29,72,29,13,54,12,0,37,0,4,45,11,7,46,15,5,
41,13,0,34,7,2,34,10,10,40,16,11,41,17,6,36,10,4,37,8,0,32,0,0,36,
0,6,55,10,0,45,0,2,62,8,32,98,37,0,56,2,6,51,10,3,40,6,3,40,6,
3,40,6,0,35,2,6,41,9,12,45,14,5,38,7,6,39,8,8,41,10,1,36,4,0,
34,1,5,42,8,4,41,7,2,39,5,4,49,6,11,72,13,22,88,24,9,70,10,0,47,
0,0,48,0,3,46,0,0,37,0,5,40,0,8,40,3,14,46,9,14,46,9,7,42,2,
5,42,1,6,47,3,5,48,2,0,43,0,0,38,0,19,60,20,33,74,34,24,65,23,10,
48,7,4,41,0,3,37,0,3,34,0,9,38,7,9,35,6,8,34,7,10,36,9,11,37,
12,8,36,11,6,34,9,5,33,8,0,6,0,0,6,0,0,6,0,0,7,0,1,6,2,
0,7,0,0,8,0,0,9,0,0,9,0,0,10,0,8,34,5,32,58,29,24,48,22,5,
24,4,0,13,0,0,9,0,0,8,0,0,7,0,0,6,0,0,5,0,0,5,0,0,6,
0,0,6,0,0,7,0,5,17,7,0,6,0,0,15,0,0,17,0,0,14,0,39,73,40,
18,54,18,0,23,0,0,9,0,0,6,0,0,6,0,0,6,0,0,6,0,0,6,0,0,
6,0,0,6,0,0,6,0,0,6,0,0,6,0,0,7,0,0,7,0,0,8,0,0,8,
0,0,11,0,0,26,0,42,82,45,3,38,5,0,17,0,0,18,0,0,8,0,0,10,0,
0,10,0,0,6,0,0,6,0,0,6,0,0,7,0,0,7,0,0,9,0,0,10,0,0,
9,0,0,12,0,0,7,0,13,32,13,36,60,36,23,49,22,0,22,0,0,12,0,0,13,
0,0,10,0,0,7,0,0,4,0,0,2,1,0,3,0,0,3,0,0,5,0,0,7,0,
0,2,0,2,2,2,4,2,5,6,1,7,8,1,9,7,2,8,4,4,4,0,7,0,0,
9,0,1,20,0,22,41,19,33,52,30,19,33,16,3,13,2,3,5,2,4,4,4,3,3,
3,2,2,2,3,1,4,2,0,3,2,0,3,3,1,4,3,1,4,3,3,3,6,6,6,
0,2,0,3,10,2,0,12,0,2,16,0,49,68,46,19,38,16,0,14,0,0,3,0,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,0,6,0,0,18,1,38,63,41,
22,45,25,1,19,3,0,12,0,0,3,0,0,2,0,1,1,0,3,1,2,3,1,2,3,
1,2,2,2,2,2,2,2,0,3,2,0,4,0,0,4,0,5,6,8,0,1,0,8,18,
9,30,44,29,27,46,26,11,33,10,3,20,2,0,10,0,1,6,2,3,3,5,5,0,7,
5,0,8,4,0,6,2,0,5,1,1,3,1,3,2,1,3,0,2,2,2,3,1,4,6,
1,7,7,0,8,7,2,8,4,4,4,0,7,0,1,13,0,18,37,15,34,53,31,24,43,
21,5,19,2,0,4,0,0,2,0,4,4,4,3,3,3,2,2,2,3,1,4,2,0,3,
2,0,3,3,1,4,3,1,4,3,3,3,0,0,0,0,3,0,2,9,1,0,10,0,12,
26,9,50,69,47,6,25,3,0,10,0,0,3,0,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
3,3,3,3,3,3,0,6,0,0,16,0,19,44,22,39,62,42,10,28,12,0,9,0,0,
7,0,0,1,0,0,0,0,3,1,2,3,1,2,3,1,2,2,2,2,2,2,2,0,3,
2,0,4,0,0,4,0,5,6,8,0,1,0,0,8,0,13,27,12,23,42,22,28,50,27,
19,36,18,0,10,0,1,6,2,3,3,5,5,0,7,5,0,8,4,0,6,2,0,5,1,
1,3,1,3,2,1,3,0,2,2,2,3,1,4,5,0,6,7,0,8,6,1,7,4,4,
4,1,8,0,5,17,3,32,51,29,39,58,36,13,32,10,0,9,0,0,4,0,1,3,0,
4,4,4,3,3,3,2,2,2,3,1,4,2,0,3,2,0,3,3,1,4,3,1,4,3,
3,3,0,0,0,3,8,2,0,7,0,0,6,0,19,33,16,50,69,47,0,15,0,0,9,
0,0,3,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,0,6,0,0,
17,0,4,29,7,54,77,57,14,32,16,0,5,0,1,8,0,0,1,0,0,0,0,2,0,
1,2,0,1,2,0,1,1,1,1,1,1,1,0,2,1,0,3,0,0,3,0,4,5,7,
0,1,0,0,4,0,0,13,0,16,35,15,38,60,37,31,48,30,0,10,0,1,6,2,3,
3,5,5,0,7,5,0,8,4,0,6,2,0,5,1,1,3,1,3,2
};
wxBoxSizer *s_main = new wxBoxSizer(wxVERTICAL);
wxBoxSizer *s_top = new wxBoxSizer(wxHORIZONTAL);
s_main->Add(s_top);
wxBitmap bmp_logo(wxImage(80,68, (unsigned char*)logo, true));
wxStaticBitmap *b_logo = new wxStaticBitmap(
this, -1, bmp_logo, wxDefaultPosition, wxSize(80,67)
);
s_top->Add(b_logo, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
wxStaticText *t_title = new wxStaticText(
this, -1,
wxString::Format(wxT("ShareDaemon wxInterface\n%s"), APPVER)
);
t_title->SetFont(wxFont(12, wxSWISS, wxNORMAL, wxBOLD));
t_title->SetSize(t_title->GetBestSize());
s_top->Add(t_title, 0, wxLEFT|wxRIGHT|wxTOP, 5);
wxStaticText *t_desc = new wxStaticText(
this, -1,
wxT("Written by Madcat <ma...@us...>\n"
"Contributions and translations by various other people :)")
);
s_main->Add(t_desc);
wxButton *b_close = new wxButton(this, wxID_OK, wxT("Close"));
s_main->Add(b_close, 0, wxALIGN_RIGHT|wxALL, 5);
SetAutoLayout(true);
SetSizer(s_main);
s_main->Fit(this);
s_main->SetSizeHints(this);
}
--- NEW FILE: AboutDlg.h ---
/*
* This file is part of wxInterface.
* Copyright (C) 2003 Alo Sarv <ma...@us...>
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ABOUTDLG_H__
#define __ABOUTDLG_H__
#ifdef __GNUG__
#pragma interface "AboutDlg.cpp"
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#include "wx/image.h"
#endif
#include "defines.h"
/************************** CAboutDlg class ***********************************/
/* The About... box of the interface - displays my logo and stuff. */
/******************************************************************************/
class CAboutDlg : public wxDialog {
public:
CAboutDlg( /* Constructor */
wxWindow *parent, wxWindowID id, const wxString &title,
const wxPoint &pos = wxDefaultPosition,
const wxSize &size = wxDefaultSize, long style =
wxDEFAULT_DIALOG_STYLE, const wxString &name = wxEmptyString
);
void CreateControls(); /* Creates controls */
};
#endif
Index: MainDlg.cpp
===================================================================
RCS file: /cvsroot/sharedaemon/ui-wx/src/MainDlg.cpp,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- MainDlg.cpp 14 Jan 2004 10:21:22 -0000 1.59
+++ MainDlg.cpp 14 Jan 2004 13:02:24 -0000 1.60
@@ -45,6 +45,7 @@
BEGIN_EVENT_TABLE(MyToolBar, wxToolBar)
EVT_RIGHT_DOWN(MyToolBar::RightClick) /* Toolbar Right-click */
+ EVT_MIDDLE_DCLICK(MyToolBar::MiddleDClick)
END_EVENT_TABLE()
/****************************************************************** MyToolBar */
@@ -60,10 +61,19 @@
/* This method is called from event table whenever user right-clicks on */
/* toolbar. We call CMainDlg::ShowToolPopupMenu() to handle the event. */
/******************************************************************************/
-void MyToolBar::RightClick(wxMouseEvent &event) {
+void MyToolBar::RightClick(const wxMouseEvent &event) {
mainframe->ShowToolPopupMenu();
}
+/* .... */
+void MyToolBar::MiddleDClick(const wxMouseEvent &event) {
+ if (event.ControlDown()) {
+ CAboutDlg *dlg = new CAboutDlg(NULL, -1, wxT("About..."));
+ dlg->ShowModal();
+ delete dlg;
+ }
+}
+
BEGIN_EVENT_TABLE(DetachedFrame, wxFrame)
EVT_CLOSE(DetachedFrame::OnClose)
END_EVENT_TABLE()
@@ -953,7 +963,7 @@
menu->Append(ID_EDIT_GUI_SETTINGS, _("Preferences"));
menu->Append(ID_FULLSCREEN, _("Fullscreen"));
- menu->Append(ID_ABOUT, _("About..."));
+ menu->Append(wxID_ABOUT, _("About..."));
menu->Append(ID_QUIT, _("Exit"));
#ifdef __WXMSW__
@@ -1043,8 +1053,12 @@
wxFULLSCREEN_NOBORDER|wxFULLSCREEN_NOCAPTION
);
break;
- case ID_ABOUT:
+ case wxID_ABOUT: {
+ CAboutDlg *dlg = new CAboutDlg(NULL, -1, _("About..."));
+ dlg->ShowModal();
+ delete dlg;
break;
+ }
case ID_QUIT:
Close();
break;
Index: MainDlg.h
===================================================================
RCS file: /cvsroot/sharedaemon/ui-wx/src/MainDlg.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- MainDlg.h 30 Dec 2003 09:09:30 -0000 1.19
+++ MainDlg.h 14 Jan 2004 13:02:24 -0000 1.20
@@ -43,6 +43,7 @@
#include "Images.h"
#include "GUISettingsDlg.h"
#include "MMultiButton.h"
+#include "AboutDlg.h"
/* Constants for MainDlg */
#define ID_QUIT 100
@@ -71,7 +72,8 @@
); /* Constructor */
private:
DECLARE_EVENT_TABLE() /* Event table declaration */
- void RightClick(wxMouseEvent &event); /* Right mouse clicks events */
+ void RightClick(const wxMouseEvent &event); /* Mouse Rclick events */
+ void MiddleDClick(const wxMouseEvent &event); /* ... */
};
/**************************** DetachedFrame class *****************************/
Index: Makefile.am
===================================================================
RCS file: /cvsroot/sharedaemon/ui-wx/src/Makefile.am,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- Makefile.am 13 Jan 2004 20:54:07 -0000 1.15
+++ Makefile.am 14 Jan 2004 13:02:24 -0000 1.16
@@ -1,6 +1,7 @@
PROGRAM = wxInterface
-WXINTERFACE_OBJECTS = ColorFrameCtrl.o \
+WXINTERFACE_OBJECTS = AboutDlg.o \
+ ColorFrameCtrl.o \
DownloadListCtrl.o \
GUISettingsDlg.o \
Images.o \
Index: defines.h
===================================================================
RCS file: /cvsroot/sharedaemon/ui-wx/src/defines.h,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- defines.h 13 Jan 2004 23:10:26 -0000 1.47
+++ defines.h 14 Jan 2004 13:02:24 -0000 1.48
@@ -21,7 +21,7 @@
#define __defines_H__
/* Version strings for easier modification */
-#define APPVER wxT("CVS")
+#define APPVER wxT("CVS Version")
#define APPVER_LONG wxT("ShareDaemon wxInterface CVS Version")
/* Include wx headers */
|