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 */ |