From blair at orcaware.com Thu Aug 5 22:36:33 2004 From: blair at orcaware.com (Blair Zajac) Date: Thu, 5 Aug 2004 22:36:33 -0700 Subject: [Orca-checkins] r380 - trunk/orca Message-ID: <200408060536.i765aXKF008470@gw.orcaware.com> Author: blair Date: Thu Aug 5 22:34:55 2004 New Revision: 380 Modified: trunk/orca/TODO Log: * TODO: Add some more todo items. Modified: trunk/orca/TODO ============================================================================== --- trunk/orca/TODO (original) +++ trunk/orca/TODO Thu Aug 5 22:34:55 2004 @@ -1,3 +1,14 @@ +Have Orca's pages look much nicer. Check out some of our competition +from Cacti: + + http://www.raxnet.net/products/cacti/ + http://www.bigspring.k12.pa.us/cacti/graph_view.php?action=tree&tree_id=31&leaf_id=408&select_first=true + +Remove the warnings that procallator generates when it runs. + +See how much work there is to do (if any) in getting procallator to +run on Linux 2.6 kernels. + From Hans-Werner Jouy: Is it possilbe to use different config files with a "include From blair at orcaware.com Sat Aug 21 12:05:15 2004 From: blair at orcaware.com (Blair Zajac) Date: Sat, 21 Aug 2004 12:05:15 -0700 Subject: [Orca-checkins] r381 - in trunk/orca: . packages/rrdtool-1.0.46 packages/rrdtool-1.0.49 packages/rrdtool-1.0.49/cgilib-0.4 packages/rrdtool-1.0.49/config packages/rrdtool-1.0.49/contrib packages/rrdtool-1.0.49/contrib/add_ds packages/rrdtool-1.0.49/contrib/php3 packages/rrdtool-1.0.49/contrib/php3/CVS packages/rrdtool-1.0.49/contrib/php4 packages/rrdtool-1.0.49/contrib/rrdexplorer packages/rrdtool-1.0.49/contrib/rrdfetchnames packages/rrdtool-1.0.49/contrib/rrdlastds packages/rrdtool-1.0.49/doc packages/rrdtool-1.0.49/examples packages/rrdtool-1.0.49/gd1.3 packages/rrdtool-1.0.49/libpng-1.0.9 packages/rrdtool-1.0.49/perl-piped packages/rrdtool-1.0.49/perl-shared packages/rrdtool-1.0.49/src packages/rrdtool-1.0.49/tcl packages/rrdtool-1.0.49/zlib-1.1.4 Message-ID: <200408211905.i7LJ5Flp013757@gw.orcaware.com> Author: blair Date: Sat Aug 21 11:59:00 2004 New Revision: 381 Added: trunk/orca/packages/rrdtool-1.0.49/ - copied from r379, trunk/orca/packages/rrdtool-1.0.46/ trunk/orca/packages/rrdtool-1.0.49/CHANGES - copied, changed from r380, trunk/orca/packages/rrdtool-1.0.46/CHANGES trunk/orca/packages/rrdtool-1.0.49/CONTRIBUTORS - copied, changed from r380, trunk/orca/packages/rrdtool-1.0.46/CONTRIBUTORS trunk/orca/packages/rrdtool-1.0.49/COPYING - copied unchanged from r380, trunk/orca/packages/rrdtool-1.0.46/COPYING trunk/orca/packages/rrdtool-1.0.49/COPYRIGHT - copied unchanged from r380, trunk/orca/packages/rrdtool-1.0.46/COPYRIGHT trunk/orca/packages/rrdtool-1.0.49/Makefile.am - copied, changed from r380, trunk/orca/packages/rrdtool-1.0.46/Makefile.am trunk/orca/packages/rrdtool-1.0.49/Makefile.in - copied, changed from r380, trunk/orca/packages/rrdtool-1.0.46/Makefile.in trunk/orca/packages/rrdtool-1.0.49/NT-BUILD-TIPS.txt - copied unchanged from r380, trunk/orca/packages/rrdtool-1.0.46/NT-BUILD-TIPS.txt trunk/orca/packages/rrdtool-1.0.49/README - copied unchanged from r380, trunk/orca/packages/rrdtool-1.0.46/README trunk/orca/packages/rrdtool-1.0.49/TODO - copied unchanged from r380, trunk/orca/packages/rrdtool-1.0.46/TODO trunk/orca/packages/rrdtool-1.0.49/aclocal.m4 - copied unchanged from r380, trunk/orca/packages/rrdtool-1.0.46/aclocal.m4 trunk/orca/packages/rrdtool-1.0.49/cgilib-0.4/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/cgilib-0.4/ trunk/orca/packages/rrdtool-1.0.49/config/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/config/ trunk/orca/packages/rrdtool-1.0.49/config.h.in - copied unchanged from r380, trunk/orca/packages/rrdtool-1.0.46/config.h.in trunk/orca/packages/rrdtool-1.0.49/configure - copied, changed from r380, trunk/orca/packages/rrdtool-1.0.46/configure trunk/orca/packages/rrdtool-1.0.49/configure.ac - copied, changed from r380, trunk/orca/packages/rrdtool-1.0.46/configure.ac trunk/orca/packages/rrdtool-1.0.49/contrib/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/contrib/ trunk/orca/packages/rrdtool-1.0.49/contrib/php3/Makefile trunk/orca/packages/rrdtool-1.0.49/contrib/php4/Makefile.in trunk/orca/packages/rrdtool-1.0.49/doc/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/doc/ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool-dump.dtd trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool-xport.dtd trunk/orca/packages/rrdtool-1.0.49/examples/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/examples/ trunk/orca/packages/rrdtool-1.0.49/gd1.3/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/gd1.3/ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/ trunk/orca/packages/rrdtool-1.0.49/perl-piped/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/perl-piped/ trunk/orca/packages/rrdtool-1.0.49/perl-shared/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/perl-shared/ trunk/orca/packages/rrdtool-1.0.49/rrdtool.spec - copied, changed from r380, trunk/orca/packages/rrdtool-1.0.46/rrdtool.spec trunk/orca/packages/rrdtool-1.0.49/src/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/src/ trunk/orca/packages/rrdtool-1.0.49/tcl/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/tcl/ trunk/orca/packages/rrdtool-1.0.49/zlib-1.1.4/ - copied from r380, trunk/orca/packages/rrdtool-1.0.46/zlib-1.1.4/ Removed: trunk/orca/packages/rrdtool-1.0.46/ Modified: trunk/orca/INSTALL trunk/orca/configure.in trunk/orca/packages/rrdtool-1.0.49/contrib/add_ds/batch.pl trunk/orca/packages/rrdtool-1.0.49/contrib/php3/CVS/Entries trunk/orca/packages/rrdtool-1.0.49/contrib/rrdexplorer/png.cgi trunk/orca/packages/rrdtool-1.0.49/contrib/rrdfetchnames/rrdfetchnames.pl trunk/orca/packages/rrdtool-1.0.49/contrib/rrdlastds/rrdlastds.pl trunk/orca/packages/rrdtool-1.0.49/doc/Makefile.am trunk/orca/packages/rrdtool-1.0.49/doc/Makefile.in trunk/orca/packages/rrdtool-1.0.49/doc/RRDp.html trunk/orca/packages/rrdtool-1.0.49/doc/RRDp.txt trunk/orca/packages/rrdtool-1.0.49/doc/RRDs.html trunk/orca/packages/rrdtool-1.0.49/doc/RRDs.txt trunk/orca/packages/rrdtool-1.0.49/doc/bin_dec_hex.txt trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.html trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.pod trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.txt trunk/orca/packages/rrdtool-1.0.49/doc/rpntutorial.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrd-beginners.html trunk/orca/packages/rrdtool-1.0.49/doc/rrd-beginners.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdcgi.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdcgi.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.html trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.es.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.es.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.txt trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.html trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.pod trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.txt trunk/orca/packages/rrdtool-1.0.49/gd1.3/gdlucidab12l2.c trunk/orca/packages/rrdtool-1.0.49/gd1.3/gdlucidab12l2.h trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/png.h trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngconf.h trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngerror.c trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngpread.c trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngread.c trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngrtran.c trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngrutil.c trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngset.c trunk/orca/packages/rrdtool-1.0.49/perl-piped/RRDp.pm trunk/orca/packages/rrdtool-1.0.49/perl-shared/Makefile.PL.in trunk/orca/packages/rrdtool-1.0.49/perl-shared/RRDs.pm trunk/orca/packages/rrdtool-1.0.49/perl-shared/RRDs.xs trunk/orca/packages/rrdtool-1.0.49/src/Makefile.am trunk/orca/packages/rrdtool-1.0.49/src/Makefile.in trunk/orca/packages/rrdtool-1.0.49/src/gdpng.c trunk/orca/packages/rrdtool-1.0.49/src/gifsize.c trunk/orca/packages/rrdtool-1.0.49/src/parsetime.c trunk/orca/packages/rrdtool-1.0.49/src/pngsize.c trunk/orca/packages/rrdtool-1.0.49/src/rrd.h trunk/orca/packages/rrdtool-1.0.49/src/rrd_cgi.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_create.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_diff.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_dump.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_error.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_fetch.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_format.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_format.h trunk/orca/packages/rrdtool-1.0.49/src/rrd_graph.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_graph.h trunk/orca/packages/rrdtool-1.0.49/src/rrd_info.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_last.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_open.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_resize.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_restore.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_tool.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_tool.h trunk/orca/packages/rrdtool-1.0.49/src/rrd_tune.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_update.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_xport.c trunk/orca/packages/rrdtool-1.0.49/src/rrd_xport.h trunk/orca/packages/rrdtool-1.0.49/tcl/Makefile.am trunk/orca/packages/rrdtool-1.0.49/tcl/Makefile.in Log: Update rrdtool from 1.0.46 to 1.0.49. * configure.in: Bump the required RRDs Perl VERSION number from 1.000461 to 1.000491 and update the directory to find rrdtool in from rrdtool-1.0.46 to rrdtool-1.0.49. * INSTALL (Determine which Perl modules need compiling and installing): Bump the required RRDs Perl VERSION number from 1.000461 to 1.000491 and update the RRDs package version from 1.0.46 to 1.0.49. * packages/rrdtool-1.0.49: Renamed from packages/rrdtool-1.0.46. Directory contents updated from rrdtool-1.0.49.tar.gz. Modified: trunk/orca/INSTALL ============================================================================== --- trunk/orca/INSTALL (original) +++ trunk/orca/INSTALL Sat Aug 21 11:59:00 2004 @@ -175,7 +175,7 @@ Devel::DProf Not required by Orca 19990108 Digest::MD5 >= 2.33 >= 2.33 2.33 Math::IntervalSearch >= 1.05 >= 1.05 1.05 - RRDs >= 1.000461 >= 1.0.46 1.0.46 + RRDs >= 1.000491 >= 1.0.49 1.0.49 Storable >= 2.13 >= 2.13 2.13 Time::HiRes Not required by Orca 1.59 version >= 0.41 >= 0.41 0.41 Modified: trunk/orca/configure.in ============================================================================== --- trunk/orca/configure.in (original) +++ trunk/orca/configure.in Sat Aug 21 11:59:00 2004 @@ -37,8 +37,8 @@ DIGEST_MD5_VER=2.33 MATH_INTERVALSEARCH_DIR=Math-Interpolate-1.05 MATH_INTERVALSEARCH_VER=1.05 -RRDTOOL_DIR=rrdtool-1.0.46 -RRDTOOL_VER=1.000461 +RRDTOOL_DIR=rrdtool-1.0.49 +RRDTOOL_VER=1.000491 STORABLE_DIR=Storable-2.13 STORABLE_VER=2.13 TIME_HIRES_DIR=Time-HiRes-1.59 Copied: trunk/orca/packages/rrdtool-1.0.49/CHANGES (from r380, trunk/orca/packages/rrdtool-1.0.46/CHANGES) ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/CHANGES (original) +++ trunk/orca/packages/rrdtool-1.0.49/CHANGES Sat Aug 21 11:59:00 2004 @@ -2,6 +2,93 @@ --------------------------- - bugfix, + enhancement, * contrib, = RELEASE --------------------------------------------- += 1.0.49 2004/08/08 -- Tobi + +- 2004/08/08 -- Tobi + * applied all outstanding patches to libpng 1.0.9 + +- 2004/07/23 -- Blair Zajac + * make it compile without perl + +- 2004/07/16 -- Krzysztof Kotlenga + * fix lucida compiled in font to be realy bold + +- 2004/07/14 -- Arend-Jan Wijtzes + * fixed rrdcgi issues with evaluation tags inside arguments + ++ 2004/05/25 -- Wolfgang Schrimm + * dtd files for dump and xport xml files + ++ 2004/05/25 -- Mike Schilli + * added dump and restore support to persbindings + ++ 2004/05/25 -- Tobi + * added example to rrdtool dump from debian patch ... + +- 2004/05/09 -- Lars Thegler (and Blair Zajac) + * make RRD.xs compile with old perls + +- 2004/05/08 -- Tobi + * missed : in getopt for -X causing segfault + +- 2004/04/24 -- Milan Obuch + * better layout when printing data from rrdtool + + + += 1.0.48 2004/04/06 -- Tobi + +- 2004/04/05 -- Thomas M. Payerle + * tcl makefile was broken again ... (tobi does not use tcl) + +- 2004/04/05 -- Tobi + * allow icon size up to 64pixels + +- 2004/04/05 -- Gustavo Badauy + improve compilability on windows + += 1.0.47 2004/04/04 -- Tobi + ++ 2004/04/04 -- Gabor Gombas + added stdout flushing to rrdexplorer.cgi + ++ 2004/04/04 -- Piotr Kodzis + --only-graph option for rrdtool graph + ++ 2004/04/04 -- Antoine Delvaux + --force-rules-legend option to force drawing of [HV]RULE legends + +- 2004/03/23 -- "Girod, Laurent" + open file in binary for writing in restore ... (unbreak things on windows) + +- 2004/03/11 -- Milan Obuch + fixes to perl-shared to find config.h propperly + +- 2004/03/09 -- Michael Boman + fixed tcl building even more + +- 2004/02/18 -- Dominik Loniewski + fixed tcl building some more + +- 2003/01/19 -- David L. Barker + Fixed xport crash when processing different size variable sets + Ensured that xport output variables are in the row with the correct timestamp + Removed unused allocated array srcptr_list[] + +- 2004/01/17 - Gerhard Strangar + fixed pod files to allow indexing with solaris windexer + ++ 2003/11/02 - Christophe Kalt + addition of RRDs::times() + +- 2004/01/12 -- paul_murphy at non.agilent.com + fix for tcl makefile + +- 2004/01/11 -- Milan Obuch + improved mrtg alt scale + improved ascii output spacing in rrdtool cli (port from FreeBSD) + fixed error in month parsing in parsetime (port from FreeBSD) + = 1.0.46 2004/01/04 -- Tobi + 2004/01/01 -- Tobi @@ -223,7 +310,7 @@ - 2002/04/29 -- Alex * fix for PRINT template parser in rrd_graph ... -- 2002/04/16 -- Milan Obuch +- 2002/04/16 -- Milan Obuch * fix for --alt-mrtg + 2002/05/01 Wolfgang Schrimm @@ -236,7 +323,7 @@ = 1.0.36 2002/04/13 -- Tobi -+ 2002/04/13 -- Milan Obuch ++ 2002/04/13 -- Milan Obuch * added new options to rrdgraph. Check the manpage for --overlay, --background, --unit, GD (graph output format) Copied: trunk/orca/packages/rrdtool-1.0.49/CONTRIBUTORS (from r380, trunk/orca/packages/rrdtool-1.0.46/CONTRIBUTORS) ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/CONTRIBUTORS (original) +++ trunk/orca/packages/rrdtool-1.0.49/CONTRIBUTORS Sat Aug 21 11:59:00 2004 @@ -54,10 +54,11 @@ Bruce Campbell Sean Summers (RPM .spec) Christophe Van Ginneken (--no-legend) - Milan Obuch background unit GD overlay --y-alt-mrtg + Milan Obuch background unit GD overlay --y-alt-mrtg Wolfgang Schrimm xport function Travis Brown Lee Thompson --enable-local-libpng, --enable-local-zlib + David L. Barker xport function bug fixes Documentation Copied: trunk/orca/packages/rrdtool-1.0.49/Makefile.am (from r380, trunk/orca/packages/rrdtool-1.0.46/Makefile.am) ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/Makefile.am (original) +++ trunk/orca/packages/rrdtool-1.0.49/Makefile.am Sat Aug 21 11:59:00 2004 @@ -34,12 +34,20 @@ # the special call to install-sh is because the -d switch is not portable # mac os X has its perl module in bundles so it seems install-data-local: - $(top_srcdir)/config/mkinstalldirs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs - $(INSTALL) -m 644 $(top_srcdir)/perl-piped/RRDp.pm $(DESTDIR)$(prefix)/lib/perl - $(INSTALL) -m 644 $(top_srcdir)/perl-shared/RRDs.pm $(DESTDIR)$(prefix)/lib/perl - $(INSTALL) -m 644 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs - test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true - test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true + @if test "x$(PERL)" != "xno"; then \ + echo "$(top_srcdir)/config/mkinstalldirs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs"; \ + $(top_srcdir)/config/mkinstalldirs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs; \ + echo "$(INSTALL) -m 644 $(top_srcdir)/perl-piped/RRDp.pm $(DESTDIR)$(prefix)/lib/perl"; \ + $(INSTALL) -m 644 $(top_srcdir)/perl-piped/RRDp.pm $(DESTDIR)$(prefix)/lib/perl; \ + echo "$(INSTALL) -m 644 $(top_srcdir)/perl-shared/RRDs.pm $(DESTDIR)$(prefix)/lib/perl"; \ + $(INSTALL) -m 644 $(top_srcdir)/perl-shared/RRDs.pm $(DESTDIR)$(prefix)/lib/perl; \ + echo "$(INSTALL) -m 644 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs"; \ + $(INSTALL) -m 644 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs; \ + echo "test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true"; \ + test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true; \ + echo "test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle $(DESTDIR)$(prefix)/lib/perl/auto/RRDs|| true"; \ + test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle $(DESTDIR)$(prefix)/lib/perl/auto/RRDs|| true; \ + fi # use relaxed rules when building dists @@ -123,8 +131,7 @@ to-scp: to-dist cp CHANGES archive/$(PACKAGE)-$(VERSION).tar.gz /home/oetiker/public_html/webtools/rrdtool/pub/ - (cd /home/oetiker/public_html/webtools/rrdtool/pub; rm $(PACKAGE).tar.gz; ln -s $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE).tar.gz;gmd5sum $(PACKAGE)-$(VERSION).tar.gz >$(PACKAGE)-$(VERSION).tar.gz.md5; pgps $(PACKAGE)-$(VERSION).tar.gz.md5) - + (cd /home/oetiker/public_html/webtools/rrdtool/pub; rm $(PACKAGE).tar.gz; ln -s $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE).tar.gz;gmd5sum $(PACKAGE)-$(VERSION).tar.gz >$(PACKAGE)-$(VERSION).tar.gz.md5; pgps $(PACKAGE)-$(VERSION).tar.gz.md5; chmod 644 $(PACKAGE)-$(VERSION).tar.gz* ) # $(RSYNC) CHANGES archive/$(PACKAGE)-$(VERSION).tar.gz tobi at ipn.caida.org:/ipn/web/Tools/RRDtool/pub/ site-perl-inst: site-perl-install Copied: trunk/orca/packages/rrdtool-1.0.49/Makefile.in (from r380, trunk/orca/packages/rrdtool-1.0.46/Makefile.in) ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/Makefile.in (original) +++ trunk/orca/packages/rrdtool-1.0.49/Makefile.in Sat Aug 21 11:59:00 2004 @@ -634,12 +634,20 @@ # the special call to install-sh is because the -d switch is not portable # mac os X has its perl module in bundles so it seems install-data-local: - $(top_srcdir)/config/mkinstalldirs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs - $(INSTALL) -m 644 $(top_srcdir)/perl-piped/RRDp.pm $(DESTDIR)$(prefix)/lib/perl - $(INSTALL) -m 644 $(top_srcdir)/perl-shared/RRDs.pm $(DESTDIR)$(prefix)/lib/perl - $(INSTALL) -m 644 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs - test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true - test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true + @if test "x$(PERL)" != "xno"; then \ + echo "$(top_srcdir)/config/mkinstalldirs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs"; \ + $(top_srcdir)/config/mkinstalldirs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs; \ + echo "$(INSTALL) -m 644 $(top_srcdir)/perl-piped/RRDp.pm $(DESTDIR)$(prefix)/lib/perl"; \ + $(INSTALL) -m 644 $(top_srcdir)/perl-piped/RRDp.pm $(DESTDIR)$(prefix)/lib/perl; \ + echo "$(INSTALL) -m 644 $(top_srcdir)/perl-shared/RRDs.pm $(DESTDIR)$(prefix)/lib/perl"; \ + $(INSTALL) -m 644 $(top_srcdir)/perl-shared/RRDs.pm $(DESTDIR)$(prefix)/lib/perl; \ + echo "$(INSTALL) -m 644 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs"; \ + $(INSTALL) -m 644 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bs $(DESTDIR)$(prefix)/lib/perl/auto/RRDs; \ + echo "test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true"; \ + test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs. at SO_EXT@ $(DESTDIR)$(prefix)/lib/perl/auto/RRDs || true; \ + echo "test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle $(DESTDIR)$(prefix)/lib/perl/auto/RRDs|| true"; \ + test -f $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle && $(INSTALL) -m 755 $(top_builddir)/perl-shared/blib/arch/auto/RRDs/RRDs.bundle $(DESTDIR)$(prefix)/lib/perl/auto/RRDs|| true; \ + fi # rules for building the perl module @@ -713,8 +721,7 @@ to-scp: to-dist cp CHANGES archive/$(PACKAGE)-$(VERSION).tar.gz /home/oetiker/public_html/webtools/rrdtool/pub/ - (cd /home/oetiker/public_html/webtools/rrdtool/pub; rm $(PACKAGE).tar.gz; ln -s $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE).tar.gz;gmd5sum $(PACKAGE)-$(VERSION).tar.gz >$(PACKAGE)-$(VERSION).tar.gz.md5; pgps $(PACKAGE)-$(VERSION).tar.gz.md5) - + (cd /home/oetiker/public_html/webtools/rrdtool/pub; rm $(PACKAGE).tar.gz; ln -s $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE).tar.gz;gmd5sum $(PACKAGE)-$(VERSION).tar.gz >$(PACKAGE)-$(VERSION).tar.gz.md5; pgps $(PACKAGE)-$(VERSION).tar.gz.md5; chmod 644 $(PACKAGE)-$(VERSION).tar.gz* ) # $(RSYNC) CHANGES archive/$(PACKAGE)-$(VERSION).tar.gz tobi at ipn.caida.org:/ipn/web/Tools/RRDtool/pub/ site-perl-inst: site-perl-install Copied: trunk/orca/packages/rrdtool-1.0.49/configure (from r380, trunk/orca/packages/rrdtool-1.0.46/configure) ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/configure (original) +++ trunk/orca/packages/rrdtool-1.0.49/configure Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.58. +# Generated by GNU Autoconf 2.58 for rrdtool 1.0.49. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -419,14 +419,14 @@ : ${ac_max_here_lines=38} # Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= +PACKAGE_NAME='rrdtool' +PACKAGE_TARNAME='rrdtool' +PACKAGE_VERSION='1.0.49' +PACKAGE_STRING='rrdtool 1.0.49' +PACKAGE_BUGREPORT='' ac_unique_file="src/rrd_tool.c" -ac_default_prefix=/usr/local/rrdtool-1.0.46 +ac_default_prefix=/usr/local/rrdtool-1.0.49 # Factoring default headers for most tests. ac_includes_default="\ #include @@ -953,7 +953,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. +\`configure' configures rrdtool 1.0.49 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1019,7 +1019,9 @@ fi if test -n "$ac_init_help"; then - + case $ac_init_help in + short | recursive ) echo "Configuration of rrdtool 1.0.49:";; + esac cat <<\_ACEOF Optional Features: @@ -1159,6 +1161,8 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF +rrdtool configure 1.0.49 +generated by GNU Autoconf 2.58 Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -1171,7 +1175,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by $as_me, which was +It was created by rrdtool $as_me 1.0.49, which was generated by GNU Autoconf 2.58. Invocation command line was $ $0 $@ @@ -1501,6 +1505,14 @@ + + + + + + + + ac_aux_dir= for ac_dir in config $srcdir/config; do if test -f $ac_dir/install-sh; then @@ -1859,8 +1871,8 @@ # Define the identity of the package. - PACKAGE=rrdtool - VERSION=1.0.46 + PACKAGE='rrdtool' + VERSION='1.0.49' cat >>confdefs.h <<_ACEOF @@ -1989,7 +2001,6 @@ - ac_config_headers="$ac_config_headers config.h" @@ -3665,7 +3676,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3668 "configure"' > conftest.$ac_ext + echo '#line 3679 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -4422,9 +4433,9 @@ echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## +## ---------------------------------- ## +## Report this to the rrdtool lists. ## +## ---------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 @@ -5230,7 +5241,7 @@ # Provide some information about the compiler. -echo "$as_me:5233:" \ +echo "$as_me:5244:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -6257,11 +6268,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6260: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6271: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6264: \$? = $ac_status" >&5 + echo "$as_me:6275: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -6489,11 +6500,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6492: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6503: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6496: \$? = $ac_status" >&5 + echo "$as_me:6507: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -6556,11 +6567,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6559: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6570: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6563: \$? = $ac_status" >&5 + echo "$as_me:6574: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8674,7 +8685,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:10938: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:10931: \$? = $ac_status" >&5 + echo "$as_me:10942: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -10991,11 +11002,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:10994: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11005: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:10998: \$? = $ac_status" >&5 + echo "$as_me:11009: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12320,7 +12331,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&5) + (eval echo "\"\$as_me:13254: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13247: \$? = $ac_status" >&5 + echo "$as_me:13258: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -13307,11 +13318,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13310: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13321: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13314: \$? = $ac_status" >&5 + echo "$as_me:13325: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15269,11 +15280,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15272: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15283: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15276: \$? = $ac_status" >&5 + echo "$as_me:15287: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -15501,11 +15512,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15504: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15515: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15508: \$? = $ac_status" >&5 + echo "$as_me:15519: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -15568,11 +15579,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15571: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15582: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15575: \$? = $ac_status" >&5 + echo "$as_me:15586: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -17686,7 +17697,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext <&2;} ( cat <<\_ASBOX -## ------------------------------------------ ## -## Report this to the AC_PACKAGE_NAME lists. ## -## ------------------------------------------ ## +## ---------------------------------- ## +## Report this to the rrdtool lists. ## +## ---------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 @@ -23692,7 +23703,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by $as_me, which was +This file was extended by rrdtool $as_me 1.0.49, which was generated by GNU Autoconf 2.58. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23755,7 +23766,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -config.status +rrdtool config.status 1.0.49 configured by $0, generated by GNU Autoconf 2.58, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copied: trunk/orca/packages/rrdtool-1.0.49/configure.ac (from r380, trunk/orca/packages/rrdtool-1.0.46/configure.ac) ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/configure.ac (original) +++ trunk/orca/packages/rrdtool-1.0.49/configure.ac Sat Aug 21 11:59:00 2004 @@ -13,7 +13,7 @@ unset CDPATH dnl make sure we are being executed in the right place -AC_INIT +AC_INIT(rrdtool, 1.0.49) AC_CONFIG_SRCDIR([src/rrd_tool.c]) dnl all our local stuff like install scripts and include files @@ -24,11 +24,10 @@ AC_CANONICAL_TARGET([]) dnl tell automake the this script is for rrdtool -AM_INIT_AUTOMAKE(rrdtool, 1.0.46) -AC_SUBST(VERSION) +AM_INIT_AUTOMAKE dnl where we install our stuff ... -AC_PREFIX_DEFAULT( /usr/local/rrdtool-1.0.46 ) +AC_PREFIX_DEFAULT( /usr/local/rrdtool-1.0.49 ) dnl tell automake which file to use as config header AC_CONFIG_HEADERS([config.h]) Modified: trunk/orca/packages/rrdtool-1.0.49/contrib/add_ds/batch.pl ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/contrib/add_ds/batch.pl (original) +++ trunk/orca/packages/rrdtool-1.0.49/contrib/add_ds/batch.pl Sat Aug 21 11:59:00 2004 @@ -43,7 +43,7 @@ ########### USER CONFIGURABLE SECTION ####################### my $newdir = "xml"; -my $rrdtool = "/usr/local/rrdtool-1.0.46/bin/rrdtool"; +my $rrdtool = "/scratch/oetiker/rrd/bin/rrdtool"; my $add_ds = "./add_ds.pl"; # path to add_ds.pl script ########### END CONFIGURE SECTION ########################### Modified: trunk/orca/packages/rrdtool-1.0.49/contrib/php3/CVS/Entries ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/contrib/php3/CVS/Entries (original) +++ trunk/orca/packages/rrdtool-1.0.49/contrib/php3/CVS/Entries Sat Aug 21 11:59:00 2004 @@ -1,8 +1,8 @@ /INSTALL/1.1.1.1/Tue Feb 26 10:21:19 2002// -/Makefile/1.1.1.1/Tue Feb 26 10:21:19 2002// /README/1.1.1.1/Tue Feb 26 10:21:19 2002// /USAGE/1.1.1.1/Tue Feb 26 10:21:19 2002// /VERSION/1.1.1.1/Tue Feb 26 10:21:19 2002// /php3_rrdtool.c/1.1.1.1/Tue Feb 26 10:21:19 2002// /php3_rrdtool.h/1.1.1.1/Tue Feb 26 10:21:19 2002// D/examples//// +/Makefile/1.1.1.1/Fri Jan 23 23:28:32 2004// Added: trunk/orca/packages/rrdtool-1.0.49/contrib/php3/Makefile ============================================================================== --- (empty file) +++ trunk/orca/packages/rrdtool-1.0.49/contrib/php3/Makefile Sat Aug 21 11:59:00 2004 @@ -0,0 +1,72 @@ +# code by Joey Miller +# +# +# BEFORE COMPILING YOU MUST SET THE VARIABLES BELOW +# TO INDICATE THE CORRECT DIRECTORIES!!!!!!!!!!!!!!!!!!!!! +# +# +# USE AT YOUR OWN RISK! +# + +## begin configurable vars + +## PHPINCLUDE -- the directory where php is untarred +## +PHPINCLUDE = -I/usr/home/joeym/apache_build/php-3.0.14 + +## PHPLIBS -- the directory where you can find some of the PHP objects +## and compiled libs (the directory where php is untarred, and +## has already been compiled! +## +PHPLIBS = /usr/home/joeym/apache_build/php-3.0.14 + +## RRDINCLUDE, GDINCLUDE -- where to find some of the header +## files needed by rrdtool and it's libs +## +RRDINCLUDE = -I/usr/home/joeym/newshit/rrdtool-1.0.10/src +GDINCLUDE = -I/usr/home/joeym/newshit/rrdtool-1.0.10/gd1.3 + +## RRDLIB -- where to find librrd.a (usually /usr/local/rrdtool-1.0.10/lib) +RRDLIB = /usr/local/rrdtool-1.0.10/lib + +# +# if php is compiled as an apache module +# +APACHEINC = -I/var/www/include + + + +###### end primary config vars .. change the vars below only +###### if you need to +###### + + + + +CFLAGS = -O -fpic +CC = gcc + +CXX = g++ +CXXFLAGS= $(CFLAGS) + +LD = cc +LDFLAGS = -shared + +RM = /bin/rm + +OBJS = php3_rrdtool.o +CFLAGS := $(CFLAGS) -I../lib $(PHPINCLUDE) $(APACHEINC) $(RRDINCLUDE) $(GDINCLUDE) +CXXFLAGS:= $(CXXFLAGS) -I../lib $(PHPINCLUDE) $(APACHEINC) $(RRDINCLUDE) $(GDINCLUDE) +LIBS := -L$(RRDLIB) -L$(PHPLIBS) -lrrd + +all: php3_rrdtool.so + +php3_rrdtool.so: $(OBJS) + $(LD) $(LDFLAGS) $(OBJS) -o $@ $(LIBS) + +clean: + $(RM) *.o + $(RM) *.so + +veryclean: clean + $(RM) *~ Added: trunk/orca/packages/rrdtool-1.0.49/contrib/php4/Makefile.in ============================================================================== --- (empty file) +++ trunk/orca/packages/rrdtool-1.0.49/contrib/php4/Makefile.in Sat Aug 21 11:59:00 2004 @@ -0,0 +1,6 @@ +LTLIBRARY_NAME = librrdtool.la +LTLIBRARY_SOURCES = rrdtool.c +LTLIBRARY_SHARED_NAME = rrdtool.la +LTLIBRARY_SHARED_LIBADD = $(RRDTOOL_SHARED_LIBADD) + +include $(top_srcdir)/build/dynlib.mk Modified: trunk/orca/packages/rrdtool-1.0.49/contrib/rrdexplorer/png.cgi ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/contrib/rrdexplorer/png.cgi (original) +++ trunk/orca/packages/rrdtool-1.0.49/contrib/rrdexplorer/png.cgi Sat Aug 21 11:59:00 2004 @@ -30,6 +30,7 @@ print "Content-type: image/png\n"; # Use html print "Cache-Control: no-cache\n"; # Ensure no cashing of page print "Expires: $expiredate\n\n"; # Expire now +$| = 1; $root = $ENV{"DOCUMENT_ROOT"}; # see rrdfetchnames Modified: trunk/orca/packages/rrdtool-1.0.49/contrib/rrdfetchnames/rrdfetchnames.pl ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/contrib/rrdfetchnames/rrdfetchnames.pl (original) +++ trunk/orca/packages/rrdtool-1.0.49/contrib/rrdfetchnames/rrdfetchnames.pl Sat Aug 21 11:59:00 2004 @@ -6,7 +6,7 @@ use lib qw( ../../perl-shared/blib/lib ../../perl-shared/blib/arch ); #makes programm work AFTER install -use lib qw( /usr/local/rrdtool-1.0.46/lib/perl ../lib/perl ); +use lib qw( /scratch/oetiker/rrd/lib/perl ../lib/perl ); use vars qw(@ISA $loaded); Modified: trunk/orca/packages/rrdtool-1.0.49/contrib/rrdlastds/rrdlastds.pl ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/contrib/rrdlastds/rrdlastds.pl (original) +++ trunk/orca/packages/rrdtool-1.0.49/contrib/rrdlastds/rrdlastds.pl Sat Aug 21 11:59:00 2004 @@ -13,7 +13,7 @@ #makes things work when run without install use lib qw( ../../perl-shared/blib/lib ../../perl-shared/blib/arch ); # this is for after install -use lib qw( /usr/local/rrdtool-1.0.46/lib/perl ../lib/perl ); +use lib qw( /scratch/oetiker/rrd/lib/perl ../lib/perl ); use RRDs; Modified: trunk/orca/packages/rrdtool-1.0.49/doc/Makefile.am ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/Makefile.am (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/Makefile.am Sat Aug 21 11:59:00 2004 @@ -22,20 +22,20 @@ PDF = $(MAN:.1=.pdf) # what should go into the distribution -EXTRA_DIST= $(POD) $(HTML) $(TXT) +EXTRA_DIST= $(POD) $(HTML) $(TXT) rrdtool-dump.dtd rrdtool-xport.dtd # some install rules idocdir = $(prefix)/doc idoc_DATA = $(POD) $(TXT) ihtmldir = $(prefix)/html ihtml_DATA = $(HTML) -imandir = $(prefix)/man/man1 +imandir = $(mandir)/man1 iman_DATA = $(MAN) all-local: link txt man html .pod.1 .pm.1 .pl.1: - pod2man --release=$(VERSION) --center=rrdtool $< > $@ + pod2man --release=$(VERSION) --center=RRDtool $< > $@ .1.txt: @NROFF@ -man -Tlp $< > $@ || echo @NROFF@ failed > $@ Modified: trunk/orca/packages/rrdtool-1.0.49/doc/Makefile.in ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/Makefile.in (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/Makefile.in Sat Aug 21 11:59:00 2004 @@ -184,14 +184,14 @@ PDF = $(MAN:.1=.pdf) # what should go into the distribution -EXTRA_DIST = $(POD) $(HTML) $(TXT) +EXTRA_DIST = $(POD) $(HTML) $(TXT) rrdtool-dump.dtd rrdtool-xport.dtd # some install rules idocdir = $(prefix)/doc idoc_DATA = $(POD) $(TXT) ihtmldir = $(prefix)/html ihtml_DATA = $(HTML) -imandir = $(prefix)/man/man1 +imandir = $(mandir)/man1 iman_DATA = $(MAN) subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -404,7 +404,7 @@ all-local: link txt man html .pod.1 .pm.1 .pl.1: - pod2man --release=$(VERSION) --center=rrdtool $< > $@ + pod2man --release=$(VERSION) --center=RRDtool $< > $@ .1.txt: @NROFF@ -man -Tlp $< > $@ || echo @NROFF@ failed > $@ Modified: trunk/orca/packages/rrdtool-1.0.49/doc/RRDp.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/RRDp.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/RRDp.html Sat Aug 21 11:59:00 2004 @@ -55,20 +55,20 @@ Load the RRDp::pipe module.

-
RRDp::start path to rrdtool executable
+
RRDp::start path to rrdtool executable
start rrdtool. The argument must be the path to the rrdtool executable

-
RRDp::cmd rrdtool commandline
+
RRDp::cmd rrdtool commandline
pass commands on to rrdtool. check the rrdtool documentation for more info on the rrdtool commands.

-
$answer = RRDp::read
+
$answer = RRDp::read
read rrdtools response to your command. Note that the $answer variable will @@ -79,13 +79,13 @@ the variable.

-
$status = RRDp::end
+
$status = RRDp::end
terminates rrdtool and returns rrdtools status ...

-
$RRDp::user, $RRDp::sys, $RRDp::real
+
$RRDp::user, $RRDp::sys, $RRDp::real
these variables will contain totals of the user time, system time and Modified: trunk/orca/packages/rrdtool-1.0.49/doc/RRDp.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/RRDp.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/RRDp.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -RRDp(3) rrdtool RRDp(3) +RRDp(3) RRDtool RRDp(3) @@ -89,4 +89,4 @@ -1.0.46 2004-01-04 RRDp(3) +1.0.49 2004-08-08 RRDp(3) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/RRDs.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/RRDs.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/RRDs.html Sat Aug 21 11:59:00 2004 @@ -46,7 +46,8 @@ RRDs::update ... RRDs::graph ... RRDs::fetch ... - RRDs::tune ... + RRDs::tune ... + RRDs::times(start, end)


@@ -66,6 +67,10 @@
  --template=in:out

is also valid.

+

The RRDs::times function takes two parameters: a ``start'' and ``end'' time. +These should be specified in the AT-STYLE TIME SPECIFICATION format +used by rrdtool. See the rrdfetch documentation for a detailed +explanation on how to specify time.

Error Handling

@@ -82,8 +87,8 @@

Return Values

-

The functions RRDs::last, RRDs::graph, RRDs::info and RRDs::fetch return their -findings.

+

The functions RRDs::last, RRDs::graph, RRDs::info, RRDs::fetch and RRDs::times +return their findings.

RRDs::last returns a single INTEGER representing the last update time.

  $lastupdate = RRDs::last ...
@@ -119,6 +124,8 @@ } print "\n"; } +

RRDs::times returns two integers which are the number of seconds since +epoch (1970-01-01) for the supplied ``start'' and ``end'' arguments, respectively.

See the examples directory for more ways to use this extension.

Modified: trunk/orca/packages/rrdtool-1.0.49/doc/RRDs.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/RRDs.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/RRDs.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -RRDs(3) rrdtool RRDs(3) +RRDs(3) RRDtool RRDs(3) @@ -15,6 +15,7 @@ RRDs::graph ... RRDs::fetch ... RRDs::tune ... + RRDs::times(start, end) DDEESSCCRRIIPPTTIIOONN CCaalllliinngg SSeeqquueennccee @@ -36,6 +37,12 @@ is also valid. + The RRDs::times function takes two parameters: a "start" + and "end" time. These should be specified in the AATT--SSTTYYLLEE + TTIIMMEE SSPPEECCIIFFIICCAATTIIOONN format used by rrdtool. See the rrrrdd-- + ffeettcchh documentation for a detailed explanation on how to + specify time. + EErrrroorr HHaannddlliinngg The RRD functions will not abort your program even when @@ -53,8 +60,8 @@ RReettuurrnn VVaalluueess - The functions RRDs::last, RRDs::graph, RRDs::info and - RRDs::fetch return their findings. + The functions RRDs::last, RRDs::graph, RRDs::info, + RRDs::fetch and RRDs::times return their findings. RRRRDDss::::llaasstt returns a single INTEGER representing the last update time. @@ -97,6 +104,10 @@ print "\n"; } + RRRRDDss::::ttiimmeess returns two integers which are the number of + seconds since epoch (1970-01-01) for the supplied "start" + and "end" arguments, respectively. + See the examples directory for more ways to use this extension. @@ -115,4 +126,4 @@ -1.0.46 2004-01-04 RRDs(3) +1.0.49 2004-08-08 RRDs(3) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/bin_dec_hex.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/bin_dec_hex.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/bin_dec_hex.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -BIN_DEC_HEX(1) rrdtool BIN_DEC_HEX(1) +BIN_DEC_HEX(1) RRDtool BIN_DEC_HEX(1) @@ -411,4 +411,4 @@ -1.0.46 2002-02-26 BIN_DEC_HEX(1) +1.0.49 2004-01-17 BIN_DEC_HEX(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/cdeftutorial.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.html Sat Aug 21 11:59:00 2004 @@ -37,20 +37,21 @@
  • Some examples
  • The examples from the RRD graph manual page
  • Out of ideas for now
  • @@ -380,7 +381,7 @@

    Some examples

    -

    Example: using a recently created RRD

    +

    Example: using a recently created RRD

    You are keeping statistics on your router for over a year now. Recently you installed an extra router and you would like to show the combined throughput for these two devices.

    @@ -439,7 +440,7 @@ to remove this rule so that unknown data is properly displayed.

    -

    Example: better handling of unknown data, by using time

    +

    Example: better handling of unknown data, by using time

    Above example has one drawback. If you do log unknown data in your database after installing your new equipment, it will also be translated into zero and therefore you won't see that there was a @@ -514,7 +515,7 @@ come up with.

    -

    Example: Pretending weird data isn't there

    +

    Example: Pretending weird data isn't there

    Suppose you have a problem that shows up as huge spikes in your graph. You know this happens and why so you decide to work around the problem. Perhaps you're using your network to do a backup at night and by doing @@ -548,7 +549,7 @@ CDEF:result=number,100000,GT,100000,number,IF

    -

    Example: working on a certain time span

    +

    Example: working on a certain time span

    If you want a graph that spans a few weeks, but would only want to see some routers data for one week, you need to ``hide'' the rest of the time frame. Don't ask me when this would be useful, it's just @@ -571,17 +572,17 @@ numbers (or zero) only.

    Let's compile the complete CDEF:

    -        DEF:ds0=router1.rrd:AVERAGE
    -        CDEF:ds0modified=TIME,begintime,GE,TIME,endtime,LE,*,UNKN,ds0,IF
    + DEF:ds0=router1.rrd:AVERAGE + CDEF:ds0modified=TIME,begintime,GE,TIME,endtime,LE,*,ds0,UNKN,IF

    This will return the value of ds0 if both comparisons return true. You could also do it the other way around:

    -        DEF:ds0=router1.rrd:AVERAGE
    -        CDEF:ds0modified=TIME,begintime,LT,TIME,endtime,GT,+,UNKN,ds0,IF
    + DEF:ds0=router1.rrd:AVERAGE + CDEF:ds0modified=TIME,begintime,LT,TIME,endtime,GT,+,UNKN,ds0,IF

    This will return an UNKNOWN if either comparison returns true.

    -

    Example: You suspect to have problems and want to see unknown data.

    +

    Example: You suspect to have problems and want to see unknown data.

    Suppose you add up the number of active users on several terminal servers. If one of them doesn't give an answer (or an incorrect one) you get ``NaN'' in the database (``Not a Number'') and NaN is evaluated as Unknown.

    @@ -615,7 +616,7 @@ AREA:wrongdata#FF0000:unknown data

    -

    Same example useful with STACKed data:

    +

    Same example useful with STACKed data:

    If you use stack in the previous example (as I would do) then you don't add up the values. Therefore, there is no relationship between the four values and you don't get a single value to test. @@ -664,7 +665,7 @@

    The examples from the RRD graph manual page

    -

    Degrees Celsius vs. Degrees Fahrenheit

    +

    Degrees Celsius vs. Degrees Fahrenheit

        rrdtool graph demo.gif --title="Demo Graph" \
           DEF:cel=demo.rrd:exhaust:AVERAGE \
    @@ -767,14 +768,13 @@
     

    If your data can also have negative values you also need to overwrite the other half of your graph. This can be done in a relatively simple way: what you need is the ``wipeout'' variable and place a negative -sign before it: ``CDEF:wipeout2=wipeout,-1,*'' +sign before it: ``CDEF:wipeout2=wipeout,-1,*''

    +

    -
    -
    -=head2 Filtering data
    +

    Data Filtering Example

    +

    by Gonzalo Augusto Arana Tagle <garana at uolsinectis.com.ar>

    You may do some complex data filtering:

    -
    -  MEDIAN FILTER: filters shot noise
    +

    MEDIAN FILTER: filters shot noise

         DEF:var=database.rrd:traffic:AVERAGE
         CDEF:prev1=PREV(var)
    @@ -783,12 +783,11 @@
         CDEF:median=prev1,prev2,prev3,+,+,3,/
         LINE3:median#000077:filtered
         LINE1:prev2#007700:'raw data'
    -
    -  DERIVATE:
    +

    DERIVATE:

         DEF:var=database.rrd:traffic:AVERAGE
         CDEF:prev1=PREV(var)
    -    CDEF:time=TIME
    +    CDEF:time=var,POP,TIME
         CDEF:prevtime=PREV(time)
         CDEF:derivate=var,prev1,-,time,prevtime,-,/
         LINE3:derivate#000077:derivate
    @@ -811,9 +810,7 @@
     


    AUTHOR

    -

    Alex van den Bogaerdt -<alex at ergens.op.het.net> -

    +

    Alex van den Bogaerdt <alex at ergens.op.het.net>

    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/cdeftutorial.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.pod Sat Aug 21 11:59:00 2004 @@ -615,14 +615,14 @@ Let's compile the complete CDEF: - DEF:ds0=router1.rrd:AVERAGE - CDEF:ds0modified=TIME,begintime,GE,TIME,endtime,LE,*,UNKN,ds0,IF + DEF:ds0=router1.rrd:AVERAGE + CDEF:ds0modified=TIME,begintime,GE,TIME,endtime,LE,*,ds0,UNKN,IF This will return the value of ds0 if both comparisons return true. You could also do it the other way around: - DEF:ds0=router1.rrd:AVERAGE - CDEF:ds0modified=TIME,begintime,LT,TIME,endtime,GT,+,UNKN,ds0,IF + DEF:ds0=router1.rrd:AVERAGE + CDEF:ds0modified=TIME,begintime,LT,TIME,endtime,GT,+,UNKN,ds0,IF This will return an UNKNOWN if either comparison returns true. @@ -837,12 +837,14 @@ the other half of your graph. This can be done in a relatively simple way: what you need is the "wipeout" variable and place a negative sign before it: "CDEF:wipeout2=wipeout,-1,*" - -=head2 Filtering data + +=head2 Data Filtering Example + +by Gonzalo Augusto Arana Tagle Egarana at uolsinectis.com.arE You may do some complex data filtering: - MEDIAN FILTER: filters shot noise +MEDIAN FILTER: filters shot noise DEF:var=database.rrd:traffic:AVERAGE CDEF:prev1=PREV(var) @@ -853,11 +855,11 @@ LINE1:prev2#007700:'raw data' - DERIVATE: +DERIVATE: DEF:var=database.rrd:traffic:AVERAGE CDEF:prev1=PREV(var) - CDEF:time=TIME + CDEF:time=var,POP,TIME CDEF:prevtime=PREV(time) CDEF:derivate=var,prev1,-,time,prevtime,-,/ LINE3:derivate#000077:derivate @@ -879,5 +881,4 @@ =head1 AUTHOR -Alex van den Bogaerdt -Ealex at ergens.op.het.netE +Alex van den Bogaerdt Ealex at ergens.op.het.netE Modified: trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/cdeftutorial.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/cdeftutorial.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -CDEFTUTORIAL(1) rrdtool CDEFTUTORIAL(1) +CDEFTUTORIAL(1) RRDtool CDEFTUTORIAL(1) @@ -595,14 +595,14 @@ Let's compile the complete CDEF: - DEF:ds0=router1.rrd:AVERAGE - CDEF:ds0modified=TIME,begintime,GE,TIME,endtime,LE,*,UNKN,ds0,IF + DEF:ds0=router1.rrd:AVERAGE + CDEF:ds0modified=TIME,begintime,GE,TIME,endtime,LE,*,ds0,UNKN,IF This will return the value of ds0 if both comparisons return true. You could also do it the other way around: - DEF:ds0=router1.rrd:AVERAGE - CDEF:ds0modified=TIME,begintime,LT,TIME,endtime,GT,+,UNKN,ds0,IF + DEF:ds0=router1.rrd:AVERAGE + CDEF:ds0modified=TIME,begintime,LT,TIME,endtime,GT,+,UNKN,ds0,IF This will return an UNKNOWN if either comparison returns true. @@ -836,11 +836,13 @@ "wipeout" variable and place a negative sign before it: "CDEF:wipeout2=wipeout,-1,*" - FFiilltteerriinngg ddaattaa + DDaattaa FFiilltteerriinngg EExxaammppllee + + by Gonzalo Augusto Arana Tagle You may do some complex data filtering: - MEDIAN FILTER: filters shot noise + MEDIAN FILTER: filters shot noise DEF:var=database.rrd:traffic:AVERAGE CDEF:prev1=PREV(var) @@ -850,15 +852,13 @@ LINE3:median#000077:filtered LINE1:prev2#007700:'raw data' - DERIVATE: - - + DERIVATE: DEF:var=database.rrd:traffic:AVERAGE CDEF:prev1=PREV(var) - CDEF:time=TIME + CDEF:time=var,POP,TIME CDEF:prevtime=PREV(time) CDEF:derivate=var,prev1,-,time,prevtime,-,/ LINE3:derivate#000077:derivate @@ -881,4 +881,4 @@ -1.0.46 2003-09-14 CDEFTUTORIAL(1) +1.0.49 2004-07-14 CDEFTUTORIAL(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rpntutorial.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rpntutorial.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rpntutorial.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -RPNTUTORIAL(1) rrdtool RPNTUTORIAL(1) +RPNTUTORIAL(1) RRDtool RPNTUTORIAL(1) @@ -202,4 +202,4 @@ -1.0.46 2003-09-14 RPNTUTORIAL(1) +1.0.49 2004-01-17 RPNTUTORIAL(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrd-beginners.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrd-beginners.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrd-beginners.html Sat Aug 21 11:59:00 2004 @@ -20,11 +20,11 @@
  • What makes RRDTool so special?
  • Graphical Magic
  • -
  • Wrapping RRDTool within Shell/Perl script
  • +
  • Wrapping RRDTool within Shell/Perl script
  • @@ -232,7 +232,7 @@ Detailed instructions be found under graph manual.

    -

    Wrapping RRDTool within Shell/Perl script

    +

    Wrapping RRDTool within Shell/Perl script

    After understanding RRDTool, it is now a time to actually use RRDTool in scripts. Tasks involved in network management are data collection, data storage, and data retrieval. In the following example, @@ -242,7 +242,7 @@ scripts are as shown below:

    -

    Shell script (collects data, updates database)

    +

    Shell script (collects data, updates database)

      #!/bin/sh
      a=0
    @@ -260,7 +260,7 @@
      done # end of while loop

    -

    Perl script (retrieves data from database and generates graphs and statistics)

    +

    Perl script (retrieves data from database and generates graphs and statistics)

      #!/usr/bin/perl -w
      #This script fetch data from target.rrd, creates graph of memory consumption
    
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrd-beginners.txt
    ==============================================================================
    --- trunk/orca/packages/rrdtool-1.0.46/doc/rrd-beginners.txt	(original)
    +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrd-beginners.txt	Sat Aug 21 11:59:00 2004
    @@ -1,4 +1,4 @@
    -RRD-BEGINNERS(1)             rrdtool             RRD-BEGINNERS(1)
    +RRD-BEGINNERS(1)             RRDtool             RRD-BEGINNERS(1)
     
     
     
    @@ -392,4 +392,4 @@
     
     
     
    -1.0.46                      2003-09-14           RRD-BEGINNERS(1)
    +1.0.49                      2004-01-17           RRD-BEGINNERS(1)
    
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdcgi.html
    ==============================================================================
    --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdcgi.html	(original)
    +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdcgi.html	Sat Aug 21 11:59:00 2004
    @@ -51,7 +51,7 @@
     only for a subset of tags. This allows to nest tags.

    The argument parser uses the same semantics as you are used from your c shell.

    -
    --filter
    +
    --filter
    Assume that rrdcgi is being run as a filter and not as a cgi. @@ -61,13 +61,13 @@

    Keywords

    -
    RRD::CV name
    +
    RRD::CV name
    Inserts the CGI variable of the given name.

    -
    RRD::CV::QUOTE name
    +
    RRD::CV::QUOTE name
    Inserts the CGI variable of the given name but quotes it, ready for @@ -75,7 +75,7 @@ value of the CGI variable it will still be considered as one argument.

    -
    RRD::CV::PATH name
    +
    RRD::CV::PATH name
    Inserts the CGI variable of the given name, quotes it and makes sure @@ -84,7 +84,7 @@ CGI interface.

    -
    RRD::GETENV variable
    +
    RRD::GETENV variable
    Get the value of an environment variable. @@ -98,7 +98,7 @@ some sort of access control on the directory

    -
    RRD::GOODFOR seconds
    +
    RRD::GOODFOR seconds
    Specify the number of seconds this page should remain valid. This will prompt @@ -106,13 +106,13 @@ seconds is negative a Refresh headers.

    -
    RRD::INCLUDE filename
    +
    RRD::INCLUDE filename
    Include the contents of the given file into the page returned from the cgi

    -
    RRD::SETENV variable value
    +
    RRD::SETENV variable value
    If you want to present your graphs in another time zone than your own, you @@ -127,33 +127,33 @@ values permitted to TZ depend on your OS.

    -
    RRD::SETVAR variable value
    +
    RRD::SETVAR variable value
    Analog to SETENV but for local variables

    -
    RRD::GETVAR variable
    +
    RRD::GETVAR variable
    Analog to GETENV but for local variables

    -
    RRD::TIME::LAST rrd-file strftime-format
    +
    RRD::TIME::LAST rrd-file strftime-format
    This gets replaced by the last modification time of the selected RRD. The time is strftime-formated with the string specified in the second argument.

    -
    RRD::TIME::NOW strftime-format
    +
    RRD::TIME::NOW strftime-format
    This gets replaced by the current time of day. The time is strftime-formated with the string specified in the argument.

    -
    RRD::TIME::STRFTIME START|END start-spec end-spec strftime-format
    +
    RRD::TIME::STRFTIME START|END start-spec end-spec strftime-format
    This gets replaced by a strftime-formatted time using the format @@ -164,7 +164,7 @@ folks to figure out than ``-2weeks''.

    -
    RRD::GRAPH rrdgraph arguments
    +
    RRD::GRAPH rrdgraph arguments
    This tag creates the RRD graph defined in its argument and then gets @@ -191,7 +191,7 @@ directories given in the PNG file argument will get dropped.

    -
    RRD::PRINT number
    +
    RRD::PRINT number
    If the preceding RRD::GRAPH tag contained and PRINT arguments, Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdcgi.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdcgi.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdcgi.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -RRDCGI(1) rrdtool RRDCGI(1) +RRDCGI(1) RRDtool RRDCGI(1) @@ -207,4 +207,4 @@ -1.0.46 2003-11-23 RRDCGI(1) +1.0.49 2004-01-17 RRDCGI(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdcreate.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.html Sat Aug 21 11:59:00 2004 @@ -27,7 +27,7 @@

    NAME

    -

    rrdtool create - Set up a new Round Robin Database

    +

    rrdcreate - Set up a new Round Robin Database

    PDF version.


    @@ -73,7 +73,7 @@ into the RRD.

    -
    DS:ds-name:DST:heartbeat:min:max
    +
    DS:ds-name:DST:heartbeat:min:max
    A single RRD can accept input from several data sources (DS). @@ -143,7 +143,7 @@

    If information on minimal/maximal expected values is available, always set the min and/or max properties. This will help RRDTool in doing a simple sanity check on the data supplied when running update.

    -
    RRA:CF:xff:steps:rows
    +
    RRA:CF:xff:steps:rows
    The purpose of an RRD is to store data in the round robin archives @@ -239,7 +239,7 @@ precision should be acceptable.

    -
    It's always a Rate
    +
    It's always a Rate
    RRDTool stores rates in amount/second for COUNTER, DERIVE and ABSOLUTE data. Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdcreate.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool create - Set up a new Round Robin Database +rrdcreate - Set up a new Round Robin Database =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdcreate.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdcreate.txt Sat Aug 21 11:59:00 2004 @@ -1,9 +1,9 @@ -RRDCREATE(1) rrdtool RRDCREATE(1) +RRDCREATE(1) RRDtool RRDCREATE(1) NNAAMMEE - rrdtool create - Set up a new Round Robin Database + rrdcreate - Set up a new Round Robin Database SSYYNNOOPPSSIISS rrrrddttooooll ccrreeaattee _f_i_l_e_n_a_m_e [----ssttaarrtt|--bb _s_t_a_r_t _t_i_m_e] @@ -248,4 +248,4 @@ -1.0.46 2003-09-14 RRDCREATE(1) +1.0.49 2004-01-17 RRDCREATE(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrddump.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.html Sat Aug 21 11:59:00 2004 @@ -16,6 +16,7 @@
  • NAME
  • SYNOPSIS
  • DESCRIPTION
  • +
  • EXAMPLES
  • AUTHOR
  • --> @@ -24,7 +25,7 @@

    NAME

    -

    rrdtool dump - dump the contents of an RRD to XML format

    +

    rrddump - dump the contents of an RRD to XML format

    PDF version.


    @@ -40,7 +41,7 @@ to another as well as manipulating the contents of an RRD file in a somewhat more convenient manner.

    -
    filename.rrd
    +
    filename.rrd
    The name of the RRD you want to dump. @@ -49,8 +50,28 @@


    +

    EXAMPLES

    +

    To transfer an RRD between architectures, follow these steps:

    +
    +
    +=item 1.
    +

    On the same system where the RRD was created, use rrdtool dump +to export the data to XML format.

    +
      +
    1. +Transfer the XML dump to the target system +

      +
    2. +Run rrdtool restore to create a new RRD from the XML dump. See +rrdrestore for details. +

    +

    +

    +

    AUTHOR

    -

    Tobias Oetiker <oetiker at ee.ethz.ch>

    +

    Tobias Oetiker <oetiker at ee.ethz.ch> + +

    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrddump.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool dump - dump the contents of an B to XML format +rrddump - dump the contents of an B to XML format =for html
    PDF version.
    @@ -16,9 +16,7 @@ to another as well as manipulating the contents of an B file in a somewhat more convenient manner. - - -=over 8 +=over =item I @@ -26,6 +24,28 @@ =back +=head1 EXAMPLES + +To transfer an RRD between architectures, follow these steps: + +=over 4 + +=item 1. + +On the same system where the RRD was created, use B B +to export the data to XML format. + +=item 2. + +Transfer the XML dump to the target system + +=item 3. + +Run B B to create a new RRD from the XML dump. See +B for details. + +=back + =head1 AUTHOR Tobias Oetiker Eoetiker at ee.ethz.chE Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrddump.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrddump.txt Sat Aug 21 11:59:00 2004 @@ -1,9 +1,9 @@ -RRDDUMP(1) rrdtool RRDDUMP(1) +RRDDUMP(1) RRDtool RRDDUMP(1) NNAAMMEE - rrdtool dump - dump the contents of an RRRRDD to XML format + rrddump - dump the contents of an RRRRDD to XML format SSYYNNOOPPSSIISS rrrrddttooooll dduummpp _f_i_l_e_n_a_m_e_._r_r_d > _f_i_l_e_n_a_m_e_._x_m_l @@ -17,11 +17,23 @@ venient manner. _f_i_l_e_n_a_m_e_._r_r_d - The name of the RRRRDD you want to dump. + The name of the RRRRDD you want to dump. + +EEXXAAMMPPLLEESS + To transfer an RRD between architectures, follow these + steps: + + 1. On the same system where the RRD was created, use rrrrdd-- + ttooooll dduummpp to export the data to XML format. + + 2. Transfer the XML dump to the target system + + 3. Run rrrrddttooooll rreessttoorree to create a new RRD from the XML + dump. See rrrrddrreessttoorree for details. AAUUTTHHOORR Tobias Oetiker -1.0.46 2002-02-26 RRDDUMP(1) +1.0.49 2004-05-25 RRDDUMP(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdfetch.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.html Sat Aug 21 11:59:00 2004 @@ -33,7 +33,7 @@

    NAME

    -

    rrdtool fetch - fetch data from an RRD.

    +

    rrdfetch - fetch data from an RRD.

    PDF version.


    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdfetch.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool fetch - fetch data from an RRD. +rrdfetch - fetch data from an RRD. =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdfetch.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdfetch.txt Sat Aug 21 11:59:00 2004 @@ -1,9 +1,9 @@ -RRDFETCH(1) rrdtool RRDFETCH(1) +RRDFETCH(1) RRDtool RRDFETCH(1) NNAAMMEE - rrdtool fetch - fetch data from an RRD. + rrdfetch - fetch data from an RRD. SSYYNNOOPPSSIISS rrrrddttooooll ffeettcchh _f_i_l_e_n_a_m_e _C_F [----rreessoolluuttiioonn|--rr _r_e_s_o_l_u_t_i_o_n] @@ -249,4 +249,4 @@ -1.0.46 2003-09-14 RRDFETCH(1) +1.0.49 2004-01-17 RRDFETCH(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdgraph.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.html Sat Aug 21 11:59:00 2004 @@ -36,7 +36,7 @@

    NAME

    -

    rrdtool graph - Create a graph based on data from one or several RRD

    +

    rrdgraph - Create a graph based on data from one or several RRD

    PDF version.


    @@ -67,6 +67,8 @@ [-u|--upper-limit value] [-l|--lower-limit value] [-g|--no-legend] +[-j|--only-graph] +[-F|--force-rules-legend] [-r|--rigid] [-S|--step value] [-b|--base value] @@ -188,7 +190,7 @@

    If you want no y-grid at all set specify the magic word none.

    -
    -Y|--alt-y-grid
    +
    -Y|--alt-y-grid
    Place Y grid dynamically based on graph Y range. Algorithm ensures @@ -197,7 +199,7 @@ every 1, 2, 5 or 10 units. (contributed by Sasha Mikheev)

    -
    --no-minor
    +
    --no-minor
    Turn off the minor grid lines. This is particularly useful for small @@ -205,14 +207,14 @@ by Travis Brown)

    -
    -R|--alt-y-mrtg
    +
    -R|--alt-y-mrtg
    Y grid placed on graph Y range mimics MRTG's (rateup-generated) graphs. Currently axis is split into 4 parts, just as rateup does.

    -
    -A|--alt-autoscale
    +
    -A|--alt-autoscale
    Compute Y range based on function absolute minimum and @@ -225,7 +227,7 @@ and periodic behavior will be seen. (contributed by Sasha Mikheev)

    -
    -M|--alt-autoscale-max
    +
    -M|--alt-autoscale-max
    Where --alt-autoscale will modify both the absolute maximum AND minimum @@ -256,7 +258,7 @@ values.

    -
    -v|--vertical-label text
    +
    -v|--vertical-label text
    vertical label on the left side of the graph. This is normally used to @@ -266,15 +268,13 @@
    -w|--width pixels (default 400 pixel)
    -Width of the drawing area within the graph. This affects the size of the -gif. +Width of the drawing area within the graph. This affects the size of the gif.

    -h|--height pixels (default 100 pixel)
    -Width of the drawing area within the graph. This affects the size of the -gif. +Height of the drawing area within the graph. This affects the size of the gif.

    -i|--interlaced (default: false)
    @@ -288,7 +288,7 @@ of the graph.

    -
    -f|--imginfo formatstring
    +
    -f|--imginfo formatstring
    After the image has been created, the graph function uses printf @@ -309,14 +309,14 @@ Allows you to produce PNG or GD output from RRDTool.

    -
    -B|--background value
    +
    -B|--background value
    You could use image in (currently only) GD format for background. It is used as background at the very beginning of graph creation.

    -
    -O|--overlay value
    +
    -O|--overlay value
    You could use image in (currently only) GD format as overlay. It is @@ -324,7 +324,7 @@ considered transparent, all other is replacing corresponding pixel in created graph.

    -
    -U|--unit value
    +
    -U|--unit value
    You could use unit to be displayed on y axis. It is wise to use only short @@ -359,7 +359,7 @@ keyword to expand graphs down.

    -
    -r|--rigid
    +
    -r|--rigid
    rigid boundaries mode. Normally rrdgraph will automatically expand the @@ -367,7 +367,7 @@ range. With the r option you can disable this behavior

    -
    -b|--base value
    +
    -b|--base value
    if you are graphing memory (and NOT network traffic) this switch @@ -375,7 +375,7 @@ measurement, 1 kb/s is 1000 b/s.

    -
    -o|--logarithmic
    +
    -o|--logarithmic
    logarithmic y-axis scaling @@ -391,12 +391,24 @@ can be called multiple times to set several colors.

    -
    -g|--no-legend
    +
    -g|--no-legend
    Suppress generation of legend; only render the graph.

    +
    -j|--only-graph
    +
    +
    +Suppress anything but the graph, works only for height < 64. +
    +

    +
    -F|--force-rules-legend
    +
    +
    +Force the generation of HRULE and VRULE legend even if those HRULE or VRULE will not be drawn because out of graph boundaries (mimics behaviour of pre 1.0.42 versions). +
    +

    -t|--title text (default no title)
    @@ -413,7 +425,7 @@ that a step smaller than 1 pixel will be silently ignored.

    -
    DEF:vname=rrd:ds-name:CF
    +
    DEF:vname=rrd:ds-name:CF
    Define virtual name for a data source. This name can then be used @@ -426,7 +438,7 @@ consolidated according to the consolidation function (CF) chosen.

    -
    CDEF:vname=rpn-expression
    +
    CDEF:vname=rpn-expression
    Create a new virtual data source by evaluating a mathematical expression, @@ -456,7 +468,7 @@ values:

    -
    +, -, *, /, %
    +
    +, -, *, /, %
    pops two values from the stack applies the selected operator and pushes @@ -464,14 +476,14 @@ operation.

    -
    SIN, COS, LOG, EXP, FLOOR, CEIL
    +
    SIN, COS, LOG, EXP, FLOOR, CEIL
    pops one value from the stack, applies the selected function and pushes the result back onto the stack.

    -
    LT, LE, GT, GE, EQ
    +
    LT, LE, GT, GE, EQ
    pops two values from the stack, compares them according to the selected @@ -493,7 +505,7 @@ E will be sent back to the stack.

    -
    MIN, MAX
    +
    MIN, MAX
    selects the lesser or larger of the two top stack values respectively @@ -510,7 +522,7 @@ CDEF:a=alpha,0,100,LIMIT

    -
    DUP, EXC, POP
    +
    DUP, EXC, POP
    These manipulate the stack directly. DUP will duplicate the top of the @@ -549,7 +561,7 @@ This allows you to perform complex calculations across the data.

    -
    INF, NEGINF
    +
    INF, NEGINF
    Push a positive or negative infinite (oo) value onto the stack. When @@ -590,7 +602,7 @@ this writing (version 0.99.25), you must use at least one vname per expression, that is ``CDEF:fourtytwo=2,40,+'' will yield an error message but not a vname fourtytwo that's always equal to 42.

    -
    PRINT:vname:CF:format
    +
    PRINT:vname:CF:format
    Calculate the chosen consolidation function CF over the data-source @@ -617,7 +629,7 @@

    If you want to put a '%' into your PRINT string, use '%%' instead.

    -
    GPRINT:vname:CF:format
    +
    GPRINT:vname:CF:format
    Same as PRINT but the result is printed into the graph below the legend. @@ -631,25 +643,25 @@ function. In order to avoid this, make sure that your end time is at least one heartbeat prior to the current time.

    -
    COMMENT:text
    +
    COMMENT:text
    Like GPRINT but the text is simply printed into the graph.

    -
    HRULE:value#rrggbb[:legend]
    +
    HRULE:value#rrggbb[:legend]
    Draw a horizontal rule into the graph and optionally add a legend

    -
    VRULE:time#rrggbb[:legend]
    +
    VRULE:time#rrggbb[:legend]
    Draw a vertical rule into the graph and optionally add a legend

    -
    LINE{1|2|3}:vname[#rrggbb[:legend]]
    +
    LINE{1|2|3}:vname[#rrggbb[:legend]]
    Plot for the requested data, using the color specified. Write a legend @@ -660,14 +672,14 @@ data-sources without showing it in the graph.

    -
    AREA:vname[#rrggbb[:legend]]
    +
    AREA:vname[#rrggbb[:legend]]
    Does the same as LINE?, but the area between 0 and the graph will be filled with the color specified.

    -
    STACK:vname[#rrggbb[:legend]]
    +
    STACK:vname[#rrggbb[:legend]]
    Does the same as LINE?, but the graph gets stacked on top of the previous Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdgraph.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool graph - Create a graph based on data from one or several RRD +rrdgraph - Create a graph based on data from one or several RRD =for html
    PDF version.
    @@ -32,6 +32,8 @@ S<[B<-u>|B<--upper-limit> I]> S<[B<-l>|B<--lower-limit> I]> S<[B<-g>|B<--no-legend>]> +S<[B<-j>|B<--only-graph>]> +S<[B<-F>|B<--force-rules-legend>]> S<[B<-r>|B<--rigid>]> S<[B<-S>|B<--step> I]> S<[B<-b>|B<--base> I]> @@ -194,13 +196,11 @@ =item B<-w>|B<--width> I (default 400 pixel) -Width of the drawing area within the graph. This affects the size of the -gif. +Width of the drawing area within the graph. This affects the size of the gif. =item B<-h>|B<--height> I (default 100 pixel) -Width of the drawing area within the graph. This affects the size of the -gif. +Height of the drawing area within the graph. This affects the size of the gif. =item B<-i>|B<--interlaced> (default: false) @@ -291,6 +291,14 @@ Suppress generation of legend; only render the graph. +=item B<-j>|B<--only-graph> + +Suppress anything but the graph, works only for height < 64. + +=item B<-F>|B<--force-rules-legend> + +Force the generation of HRULE and VRULE legend even if those HRULE or VRULE will not be drawn because out of graph boundaries (mimics behaviour of pre 1.0.42 versions). + =item B<-t>|B<--title> I (default no title) Define a title to be written into the graph Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdgraph.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdgraph.txt Sat Aug 21 11:59:00 2004 @@ -1,10 +1,10 @@ -RRDGRAPH(1) rrdtool RRDGRAPH(1) +RRDGRAPH(1) RRDtool RRDGRAPH(1) NNAAMMEE - rrdtool graph - Create a graph based on data from one or - several RRD + rrdgraph - Create a graph based on data from one or sev- + eral RRD SSYYNNOOPPSSIISS rrrrddttooooll ggrraapphh _f_i_l_e_n_a_m_e [--ss|----ssttaarrtt _s_e_c_o_n_d_s] [--ee|----eenndd _s_e_c_- @@ -18,12 +18,13 @@ ffoorrmmaatt GGIIFF|PPNNGG|GGDD] [--BB|----bbaacckkggrroouunndd _v_a_l_u_e] [--OO|----oovveerr-- llaayy _v_a_l_u_e] [--UU|----uunniitt _v_a_l_u_e] [--zz|----llaazzyy] [--oo|----llooggaarriitthh-- mmiicc] [--uu|----uuppppeerr--lliimmiitt _v_a_l_u_e] [--ll|----lloowweerr--lliimmiitt _v_a_l_u_e] - [--gg|----nnoo--lleeggeenndd] [--rr|----rriiggiidd] [--SS|----sstteepp _v_a_l_u_e] - [--bb|----bbaassee _v_a_l_u_e] [--cc|----ccoolloorr _C_O_L_O_R_T_A_G##_r_r_g_g_b_b] - [--tt|----ttiittllee _t_i_t_l_e] [DDEEFF::_v_n_a_m_e==_r_r_d::_d_s_-_n_a_m_e::_C_F] - [CCDDEEFF::_v_n_a_m_e==_r_p_n_-_e_x_p_r_e_s_s_i_o_n] [PPRRIINNTT::_v_n_a_m_e::_C_F::_f_o_r_m_a_t] - [GGPPRRIINNTT::_v_n_a_m_e::_C_F::_f_o_r_m_a_t] [CCOOMMMMEENNTT::_t_e_x_t] - [HHRRUULLEE::_v_a_l_u_e##_r_r_g_g_b_b[::_l_e_g_e_n_d]] [VVRRUULLEE::_t_i_m_e##_r_r_g_g_b_b[::_l_e_g_e_n_d]] + [--gg|----nnoo--lleeggeenndd] [--jj|----oonnllyy--ggrraapphh] [--FF|----ffoorrccee--rruulleess--lleegg-- + eenndd] [--rr|----rriiggiidd] [--SS|----sstteepp _v_a_l_u_e] [--bb|----bbaassee _v_a_l_u_e] + [--cc|----ccoolloorr _C_O_L_O_R_T_A_G##_r_r_g_g_b_b] [--tt|----ttiittllee _t_i_t_l_e] + [DDEEFF::_v_n_a_m_e==_r_r_d::_d_s_-_n_a_m_e::_C_F] [CCDDEEFF::_v_n_a_m_e==_r_p_n_-_e_x_p_r_e_s_s_i_o_n] + [PPRRIINNTT::_v_n_a_m_e::_C_F::_f_o_r_m_a_t] [GGPPRRIINNTT::_v_n_a_m_e::_C_F::_f_o_r_m_a_t] [CCOOMM-- + MMEENNTT::_t_e_x_t] [HHRRUULLEE::_v_a_l_u_e##_r_r_g_g_b_b[::_l_e_g_e_n_d]] + [VVRRUULLEE::_t_i_m_e##_r_r_g_g_b_b[::_l_e_g_e_n_d]] [LLIINNEE{11|22|33}::_v_n_a_m_e[##_r_r_g_g_b_b[::_l_e_g_e_n_d]]] [AARREEAA::_v_n_a_m_e[##_r_r_g_g_b_b[::_l_e_g_e_n_d]]] [SSTTAACCKK::_v_n_a_m_e[##_r_r_g_g_b_b[::_l_e_g_- _e_n_d]]] @@ -184,7 +185,7 @@ affects the size of the gif. --hh|----hheeiigghhtt _p_i_x_e_l_s (default 100 pixel) - Width of the drawing area within the graph. This + Height of the drawing area within the graph. This affects the size of the gif. --ii|----iinntteerrllaacceedd (default: false) @@ -274,6 +275,16 @@ --gg|----nnoo--lleeggeenndd Suppress generation of legend; only render the graph. + --jj|----oonnllyy--ggrraapphh + Suppress anything but the graph, works only for height + < 64. + + --FF|----ffoorrccee--rruulleess--lleeggeenndd + Force the generation of HRULE and VRULE legend even if + those HRULE or VRULE will not be drawn because out of + graph boundaries (mimics behaviour of pre 1.0.42 ver- + sions). + --tt|----ttiittllee _t_e_x_t (default no title) Define a title to be written into the graph @@ -448,12 +459,12 @@ value, the previously calculated SI magnitude unit will be used. This is useful if you want all the val- ues in a PRINT statement to have the same SI magnitude - unit. If there was no previous SI magnitude calcula- - tion made, then '%S' behaves like a '%s', unless the - value is 0, in which case it does not remember a SI - magnitude unit and a SI magnitude unit will only be - calculated when the next '%s' is seen or the next '%S' - for a non-zero value. + unit. If there was no previous SI magnitude + calculation made, then '%S' behaves like a '%s', + unless the value is 0, in which case it does not + remember a SI magnitude unit and a SI magnitude unit + will only be calculated when the next '%s' is seen or + the next '%S' for a non-zero value. If you want to put a '%' into your PRINT string, use '%%' instead. @@ -512,6 +523,10 @@ *UNKNOWN* into zero ... NNOOTTEESS oonn lleeggeenndd aarrgguummeennttss + + + + EEssccaappiinngg tthhee ccoolloonn In a ':' in a _l_e_g_e_n_d argument will mark the end of the @@ -571,6 +586,12 @@ you are aggregating interface data where the start dates of the data sets doesn't match. + + + + + + rrdtool graph demo.gif --title="Demo Graph" \ DEF:idat1=interface1.rrd:ds0:AVERAGE \ DEF:idat2=interface2.rrd:ds0:AVERAGE \ @@ -643,4 +664,4 @@ -1.0.46 2003-10-09 RRDGRAPH(1) +1.0.49 2004-04-06 RRDGRAPH(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdinfo.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.html Sat Aug 21 11:59:00 2004 @@ -25,7 +25,7 @@

    NAME

    -

    rrdtool info - extract header information from an RRD

    +

    rrdinfo - extract header information from an RRD

    PDF version.


    @@ -75,7 +75,7 @@ rra[0].cdp_prep[1].value = nan rra[0].cdp_prep[1].unknown_datapoints = 0
    -
    filename.rrd
    +
    filename.rrd
    The name of the RRD you want to dump. Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdinfo.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool info - extract header information from an RRD +rrdinfo - extract header information from an RRD =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdinfo.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdinfo.txt Sat Aug 21 11:59:00 2004 @@ -1,9 +1,9 @@ -RRDINFO(1) rrdtool RRDINFO(1) +RRDINFO(1) RRDtool RRDINFO(1) NNAAMMEE - rrdtool info - extract header information from an RRD + rrdinfo - extract header information from an RRD SSYYNNOOPPSSIISS rrrrddttooooll iinnffoo _f_i_l_e_n_a_m_e_._r_r_d @@ -56,4 +56,4 @@ -1.0.46 2003-09-14 RRDINFO(1) +1.0.49 2004-01-17 RRDINFO(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdlast.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.html Sat Aug 21 11:59:00 2004 @@ -24,7 +24,7 @@

    NAME

    -

    rrdtool last - Return the date of the last data sample in an RRD

    +

    rrdlast - Return the date of the last data sample in an RRD

    PDF version.


    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdlast.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool last - Return the date of the last data sample in an B +rrdlast - Return the date of the last data sample in an B =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdlast.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdlast.txt Sat Aug 21 11:59:00 2004 @@ -1,10 +1,10 @@ -RRDLAST(1) rrdtool RRDLAST(1) +RRDLAST(1) RRDtool RRDLAST(1) NNAAMMEE - rrdtool last - Return the date of the last data sample in - an RRRRDD + rrdlast - Return the date of the last data sample in an + RRRRDD SSYYNNOOPPSSIISS rrrrddttooooll llaasstt _f_i_l_e_n_a_m_e @@ -21,4 +21,4 @@ -1.0.46 2002-02-26 RRDLAST(1) +1.0.49 2004-01-17 RRDLAST(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdresize.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.html Sat Aug 21 11:59:00 2004 @@ -25,7 +25,7 @@

    NAME

    -

    rrdtool resize - alters the size of an RRA and creates new .rrd file

    +

    rrdresize - alters the size of an RRA and creates new .rrd file

    PDF version.


    @@ -44,7 +44,7 @@ the name of the RRD you want to alter.

    -
    rra-num
    +
    rra-num
    the RRA you want to alter. You can find the number using rrdtool info. Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdresize.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool resize - alters the size of an RRA and creates new .rrd file +rrdresize - alters the size of an RRA and creates new .rrd file =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdresize.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdresize.txt Sat Aug 21 11:59:00 2004 @@ -1,10 +1,10 @@ -RRDRESIZE(1) rrdtool RRDRESIZE(1) +RRDRESIZE(1) RRDtool RRDRESIZE(1) NNAAMMEE - rrdtool resize - alters the size of an RRA and creates new - .rrd file + rrdresize - alters the size of an RRA and creates new .rrd + file SSYYNNOOPPSSIISS rrrrddttooooll rreessiizzee _f_i_l_e_n_a_m_e _r_r_a_-_n_u_m GGRROOWW_|SSHHRRIINNKK _r_o_w_s @@ -44,4 +44,4 @@ -1.0.46 2003-09-14 RRDRESIZE(1) +1.0.49 2004-01-17 RRDRESIZE(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdrestore.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.html Sat Aug 21 11:59:00 2004 @@ -24,7 +24,7 @@

    NAME

    -

    rrdtool restore - restore the contents of an RRD from its XML dump format

    +

    rrdrestore - restore the contents of an RRD from its XML dump format

    PDF version.


    @@ -38,19 +38,19 @@

    The restore function reads the XML representation of an RRD and converts it into the native RRD format.

    -
    filename.xml
    +
    filename.xml
    The name of the XML you want to restore.

    -
    filename.rrd
    +
    filename.rrd
    The name of the RRD to restore.

    -
    --range-check|-r
    +
    --range-check|-r
    Make sure the values in the RRAs do not exceed the limits defined for Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdrestore.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool restore - restore the contents of an B from its XML dump format +rrdrestore - restore the contents of an B from its XML dump format =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdrestore.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdrestore.txt Sat Aug 21 11:59:00 2004 @@ -1,10 +1,10 @@ -RRDRESTORE(1) rrdtool RRDRESTORE(1) +RRDRESTORE(1) RRDtool RRDRESTORE(1) NNAAMMEE - rrdtool restore - restore the contents of an RRRRDD from its - XML dump format + rrdrestore - restore the contents of an RRRRDD from its XML + dump format SSYYNNOOPPSSIISS rrrrddttooooll rreessttoorree _f_i_l_e_n_a_m_e_._x_m_l _f_i_l_e_n_a_m_e_._r_r_d @@ -29,4 +29,4 @@ -1.0.46 2002-02-26 RRDRESTORE(1) +1.0.49 2004-01-17 RRDRESTORE(1) Added: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool-dump.dtd ============================================================================== --- (empty file) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool-dump.dtd Sat Aug 21 11:59:00 2004 @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Added: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool-xport.dtd ============================================================================== --- (empty file) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool-xport.dtd Sat Aug 21 11:59:00 2004 @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtool.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtool.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -RRDTOOL(1) rrdtool RRDTOOL(1) +RRDTOOL(1) RRDtool RRDTOOL(1) @@ -202,4 +202,4 @@ -1.0.46 2003-09-14 RRDTOOL(1) +1.0.49 2004-01-17 RRDTOOL(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtune.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.html Sat Aug 21 11:59:00 2004 @@ -25,7 +25,7 @@

    NAME

    -

    rrdtool tune - Modify some basic properties of a Round Robin Database

    +

    rrdtune - Modify some basic properties of a Round Robin Database

    PDF version.


    @@ -56,34 +56,34 @@ The name of the RRD you want to tune.

    -
    --heartbeat|-h ds-name:heartbeat
    +
    --heartbeat|-h ds-name:heartbeat
    modify the heartbeat of a data source. By setting this to a high value the RRD will accept things like one value per day ...

    -
    --minimum|-i ds-name:min
    +
    --minimum|-i ds-name:min
    alter the minimum value acceptable as input from the data source. Setting min to 'U' will disable this limit.

    -
    --maximum|-a ds-name:max
    +
    --maximum|-a ds-name:max
    alter the maximum value acceptable as input from the data source. Setting max to 'U' will disable this limit.

    -
    --data-source-type|-d ds-name:DST
    +
    --data-source-type|-d ds-name:DST
    alter the type DST of a data source.

    -
    [--data-source-rename|-r old-name:new-name]
    +
    [--data-source-rename|-r old-name:new-name]
    rename a data source Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtune.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool tune - Modify some basic properties of a Round Robin Database +rrdtune - Modify some basic properties of a Round Robin Database =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtune.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtune.txt Sat Aug 21 11:59:00 2004 @@ -1,10 +1,10 @@ -RRDTUNE(1) rrdtool RRDTUNE(1) +RRDTUNE(1) RRDtool RRDTUNE(1) NNAAMMEE - rrdtool tune - Modify some basic properties of a Round - Robin Database + rrdtune - Modify some basic properties of a Round Robin + Database SSYYNNOOPPSSIISS rrrrddttooooll ttuunnee _f_i_l_e_n_a_m_e [----hheeaarrttbbeeaatt|--hh _d_s_-_n_a_m_e:_h_e_a_r_t_b_e_a_t] @@ -64,4 +64,4 @@ -1.0.46 2003-09-14 RRDTUNE(1) +1.0.49 2004-01-17 RRDTUNE(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.es.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtutorial.es.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.es.html Sat Aug 21 11:59:00 2004 @@ -19,30 +19,30 @@
  • RESUMEN
  • LISTA DE CORREO
  • -
  • VER TAMBI?N
  • +
  • VER TAMBI?N
  • AUTOR
  • --> @@ -79,7 +79,7 @@ mucho sentido.

    -

    ?Qu? es RRDtool?

    +

    ?Qu? es RRDtool?

    RRDtool significa ``herramienta de bases de datos en round robin''. ``Round robin'' es una t?cnica que implica un n?mero fijo de datos, y un apuntador al elemento m?s reciente. Piensa en un circulo con unos @@ -96,7 +96,7 @@ recuperando datos de ellas.

    -

    ?Qu? datos pueden guardarse en una RRD?

    +

    ?Qu? datos pueden guardarse en una RRD?

    Lo que se te ocurra. Debes poder medir alg?n valor dado en distintos momentos en el tiempo y proveer a RRDtool de estos valores. Si puedes hacer esto, RRDtool puede guardar los datos. Los valores tienen que @@ -113,7 +113,7 @@ de estos contadores los que vamos a almacenar en la RRD.

    -

    ?Qu? puedo hacer con esta herramienta?

    +

    ?Qu? puedo hacer con esta herramienta?

    RRDtool se deriva de MRTG (Multi Router Traffic Grapher, Graficador De Tr?fico de M?ltiples Enrutadores). MRTG empez? como un peque?o script para poder @@ -137,7 +137,7 @@ pasarle los n?meros a RRDtool.

    -

    ?Y si a?n tengo problemas despu?s de leer este documento?

    +

    ?Y si a?n tengo problemas despu?s de leer este documento?

    Lo primero, ?l?elo otra vez!. Puede que te hayas perdido de algo. Si no puedes compilar el c?digo fuente y usas un sistema operativo bastante com?n, casi seguro que no es la culpa de RRDtool. @@ -158,7 +158,7 @@ env?a otro correo a la misma direcci?n, con t?tulo unsubscribe.

    -

    ?C?mo me vas a ayudar?

    +

    ?C?mo me vas a ayudar?

    D?ndote descripciones y ejemplos detallados. Asumimos que el seguir las instrucciones en el orden en que se presentan aqu? te dar? suficiente conocimiento de RRDtool como para que experimentes por tu @@ -256,7 +256,7 @@

    (o sea, escribe: rrdtool create test.rrd --start 920804400 DS ...)

    -

    ?Qu? hemos creado?

    +

    ?Qu? hemos creado?

    Hemos creado una base de datos en round robin llamada test (test.rrd), que empieza desde el mediod?a del d?a en que empec? a escribir este documento (7 de marzo de 1999). En ella se guarda una @@ -346,7 +346,7 @@

    Lo que representa exactamente esta salida lo vamos m?s adelante en el tutorial.

    -

    Hora de hacer algunos gr?ficos

    +

    Hora de hacer algunos gr?ficos

    Prueba este comando:

      rrdtool graph speed.gif                                 \
    @@ -379,7 +379,7 @@
     ``file://el/camino/de/directorios/hasta/speed.gif''

    -

    Gr?ficos con un poco de matem?tica

    +

    Gr?ficos con un poco de matem?tica

    Cuando veas la imagen, notar?s que el eje horizontal tiene unas etiquetas marcando las 12:10, 12:20, 12:30, 12:40 y 12:50. Los otros dos momentos (12:00 y 13:00) no se pueden mostrar bien por falta de datos, as? que @@ -449,7 +449,7 @@ Si es as?, retorna la velocidad, si no, retorna 0 ((( kmh,100) GT ), kmh, 0) IF

    -

    Magia gr?fica

    +

    Magia gr?fica

    Me gusta creer que virtualmente no hay limites para lo que RRDtool puede hacer con los datos. No voy a explicarlo en detalle, pero mira este GIF:

    @@ -700,7 +700,7 @@
     cuatro megabits por segundo.

    -

    Funciones de consolidaci?n

    +

    Funciones de consolidaci?n

    Unos cuantos p?rrafos atr?s habl?bamos sobre la posibilidad de guardar el valor m?ximo en vez del promedio. Profundicemos un poco en este tema.

    @@ -915,7 +915,7 @@

    -

    Reinicializaci?n de los contadores

    +

    Reinicializaci?n de los contadores

    Todav?a nos quedan algunas cosas por ver. Nos quedan algunas opciones importantes por cubrir, y aun no hemos hablado de la reinicializaci?n de contadores. Empecemos por ah?: Estamos en nuestro @@ -1104,7 +1104,7 @@


    -

    VER TAMBI?N

    +

    VER TAMBI?N

    Las p?ginas del manual de RRDtool

    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.es.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtutorial.es.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.es.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -RRDTUTORIAL.ES(1) rrdtool RRDTUTORIAL.ES(1) +RRDTUTORIAL.ES(1) RRDtool RRDTUTORIAL.ES(1) @@ -1262,4 +1262,4 @@ -1.0.46 2003-01-20 RRDTUTORIAL.ES(1) +1.0.49 2004-01-17 RRDTUTORIAL.ES(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtutorial.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.html Sat Aug 21 11:59:00 2004 @@ -33,7 +33,7 @@
  • Some words on SNMP
  • A Real World Example
  • Consolidation Functions
  • -
  • Let's review what you now should know.
  • +
  • Let's review what you now should know.
  • Data Source Types
  • RRDTool under the Microscope
  • Counter Wraps
  • @@ -52,7 +52,7 @@

    NAME

    rrdtutorial - Alex van den Bogaerdt's RRDTool tutorial

    -
    PDF version.

    +

    PDF version.


    DESCRIPTION

    @@ -716,7 +716,7 @@ you would not have the graphics at all in that case.

    -

    Let's review what you now should know.

    +

    Let's review what you now should know.

    You now know how to create a database. You can put the numbers in it, get them out again by creating an image, do math on the data from the database and view the outcome instead of the raw data. Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtutorial.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.pod Sat Aug 21 11:59:00 2004 @@ -2,8 +2,6 @@ rrdtutorial - Alex van den Bogaerdt's RRDTool tutorial -=for html

    - =for html
    PDF version.
    =head1 DESCRIPTION Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdtutorial.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdtutorial.txt Sat Aug 21 11:59:00 2004 @@ -1,4 +1,4 @@ -RRDTUTORIAL(1) rrdtool RRDTUTORIAL(1) +RRDTUTORIAL(1) RRDtool RRDTUTORIAL(1) @@ -1241,4 +1241,4 @@ -1.0.46 2003-09-14 RRDTUTORIAL(1) +1.0.49 2004-04-24 RRDTUTORIAL(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdupdate.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.html Sat Aug 21 11:59:00 2004 @@ -25,7 +25,7 @@

    NAME

    -

    rrdtool update - Store a new set of values into the RRD

    +

    rrdupdate - Store a new set of values into the RRD

    PDF version.


    @@ -48,7 +48,7 @@ The name of the RRD you want to update.

    -
    --template|-t ds-name[:ds-name]...
    +
    --template|-t ds-name[:ds-name]...
    by default, the update function expects the data input in the order, @@ -62,7 +62,7 @@ will abort with an error message.

    -
    N|timestamp:value[:value...]
    +
    N|timestamp:value[:value...]
    The data used for updating the RRD was acquired at a certain time. This @@ -93,7 +93,7 @@

    rrdtool update demo1.rrd N:3.44:3.15:U:23

    Update the database file demo1.rrd with 3 known and one *UNKNOWN* value. Use the current time as the update time.

    -

    rrdtool update demo2.rrd 887457267:U 887457521:22 88745790:2.7

    +

    rrdtool update demo2.rrd 887457267:U 887457521:22 887457903:2.7

    Update the database file demo2.rrd which expects data from a single data-source, three times. First with an *UNKNOWN* value then with two normal readings. The update interval seems to be around 300 seconds.

    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdupdate.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool update - Store a new set of values into the RRD +rrdupdate - Store a new set of values into the RRD =for html
    PDF version.
    @@ -63,7 +63,7 @@ Update the database file demo1.rrd with 3 known and one I<*UNKNOWN*> value. Use the current time as the update time. -C +C Update the database file demo2.rrd which expects data from a single data-source, three times. First with an I<*UNKNOWN*> value then with two Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdupdate.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdupdate.txt Sat Aug 21 11:59:00 2004 @@ -1,9 +1,9 @@ -RRDUPDATE(1) rrdtool RRDUPDATE(1) +RRDUPDATE(1) RRDtool RRDUPDATE(1) NNAAMMEE - rrdtool update - Store a new set of values into the RRD + rrdupdate - Store a new set of values into the RRD SSYYNNOOPPSSIISS rrrrddttooooll uuppddaattee _f_i_l_e_n_a_m_e [----tteemmppllaattee|--tt _d_s_-_n_a_m_e[::_d_s_- @@ -60,7 +60,7 @@ _*_U_N_K_N_O_W_N_* value. Use the current time as the update time. "rrdtool update demo2.rrd 887457267:U 887457521:22 - 88745790:2.7" + 887457903:2.7" Update the database file demo2.rrd which expects data from a single data-source, three times. First with an _*_U_N_K_N_O_W_N_* @@ -72,4 +72,4 @@ -1.0.46 2003-09-14 RRDUPDATE(1) +1.0.49 2004-03-01 RRDUPDATE(1) Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.html ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdxport.html (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.html Sat Aug 21 11:59:00 2004 @@ -31,7 +31,7 @@

    NAME

    -

    rrdtool xport - Export data in XML format based on data from one or several RRD

    +

    rrdxport - Export data in XML format based on data from one or several RRD

    PDF version.


    @@ -86,19 +86,19 @@ See rrdgraph documentation.

    -
    DEF:vname=rrd:ds-name:CF
    +
    DEF:vname=rrd:ds-name:CF
    See rrdgraph documentation.

    -
    CDEF:vname=rpn-expression
    +
    CDEF:vname=rpn-expression
    See rrdgraph documentation.

    -
    XPORT:vname::legend
    +
    XPORT:vname::legend
    At least one XPORT statement should be present. The values Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.pod ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdxport.pod (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.pod Sat Aug 21 11:59:00 2004 @@ -1,6 +1,6 @@ =head1 NAME -rrdtool xport - Export data in XML format based on data from one or several RRD +rrdxport - Export data in XML format based on data from one or several RRD =for html
    PDF version.
    Modified: trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.txt ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/doc/rrdxport.txt (original) +++ trunk/orca/packages/rrdtool-1.0.49/doc/rrdxport.txt Sat Aug 21 11:59:00 2004 @@ -1,10 +1,10 @@ -RRDXPORT(1) rrdtool RRDXPORT(1) +RRDXPORT(1) RRDtool RRDXPORT(1) NNAAMMEE - rrdtool xport - Export data in XML format based on data - from one or several RRD + rrdxport - Export data in XML format based on data from + one or several RRD SSYYNNOOPPSSIISS rrrrddttooooll xxppoorrtt [--ss|----ssttaarrtt _s_e_c_o_n_d_s] [--ee|----eenndd _s_e_c_o_n_d_s] @@ -125,4 +125,4 @@ -1.0.46 2002-05-29 RRDXPORT(1) +1.0.49 2004-01-17 RRDXPORT(1) Modified: trunk/orca/packages/rrdtool-1.0.49/gd1.3/gdlucidab12l2.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/gd1.3/gdlucidab12l2.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/gd1.3/gdlucidab12l2.c Sat Aug 21 11:59:00 2004 @@ -3,8 +3,8 @@ This is a header file for gd font, generated using bdftogd version 0.60 by Jan Pazdziora, adelton at fi.muni.cz from bdf font - -B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-iso8859-2 - at Wed Apr 2 23:46:21 2003. + -B&H-LucidaTypewriter-Bold-R-Normal-Sans-12-120-75-75-M-70-iso8859-2 + at Thu Jul 15 22:48:11 2004. The original bdf was holding following copyright: "Copyright Bigelow & Holmes 1986, 1985." */ @@ -14,4356 +14,4356 @@ char gdLucidaBold12l2Data[] = { /* Char 0 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,0,1,0,1,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,0,0,0,0,0, -0,1,0,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,0,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,0,1,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 1 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 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,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 3 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 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,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 5 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 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,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 7 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 8 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 9 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 10 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 11 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 12 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 13 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 14 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 15 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 16 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 17 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 18 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 19 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 20 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 21 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 22 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 23 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 24 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 25 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 26 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 27 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 28 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 29 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 30 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 31 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 32 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 33 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 34 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,1,0,1,1,0, +0,0,1,0,0,1,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 35 */ -0,0,0,0,0,0,0, -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,1,0,0,1,0, -0,1,1,1,1,1,1, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,1,1,1,1,1,1, -0,0,1,0,0,1,0, -0,0,1,0,0,1,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +1,1,1,1,1,1,1,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +1,1,1,1,1,1,1,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 36 */ -0,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,1,1,0,0, -0,1,0,1,0,1,0, -0,1,0,1,0,0,0, -0,0,1,1,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,0,1,0, -0,0,0,1,0,1,0, -0,1,0,1,0,1,0, -0,0,1,1,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,0,0,0, +0,0,0,0,1,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0, /* Char 37 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,0,0,0,0, -1,0,0,1,0,0,1, -1,0,0,1,0,1,0, -0,1,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,1,0,1,1,0, -0,1,0,1,0,0,1, -1,0,0,1,0,0,1, -0,0,0,0,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +1,0,1,1,0,1,1,0, +1,0,1,1,0,1,0,0, +0,1,1,0,1,0,0,0, +0,0,0,1,0,0,0,0, +0,0,1,0,1,1,0,0, +0,1,0,1,0,1,1,0, +1,1,0,1,0,1,1,0, +1,0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 38 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,1,1,0,0,1, -0,1,0,0,1,0,1, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,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,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,0,0,0, +0,0,1,1,0,0,1,0, +0,1,1,1,1,0,1,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 39 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,0,0,0,0,0, +0,0,1,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 40 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,1,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,1,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, /* Char 41 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,1,1,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 42 */ -0,0,0,0,0,0,0, -0,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,1,0,1,0,1,0, -0,0,1,0,1,0,0, -0,1,0,1,0,1,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,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,1,0,1,0,0, +0,0,1,1,1,0,0,0, +0,1,0,1,0,1,0,0, +0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 43 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -1,1,1,1,1,1,1, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0, +1,1,1,1,1,1,1,0, +0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 44 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,1,1,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,0,0,0, +0,0,0,1,0,0,0,0, /* Char 45 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 46 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,0,0,0, -0,0,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 47 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,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,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +1,1,0,0,0,0,0,0, +1,1,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 48 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 49 */ -0,0,0,0,0,0,0, -0,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,1,0,0,0, -0,1,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 50 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,0,0,0,0,1,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,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 51 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 52 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0, -0,0,1,0,1,0,0, -0,1,0,0,1,0,0, -1,0,0,0,1,0,0, -1,1,1,1,1,1,0, -0,0,0,0,1,0,0, -0,0,0,0,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,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,1,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,0,0,1,1,0,0, +0,1,1,1,1,1,1,0, +0,1,1,1,1,1,1,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 53 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,1,1,1,1,1,0, +0,0,1,0,0,0,0,0, +0,0,1,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 54 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 55 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 56 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,0,1,1,0, +0,0,1,1,1,1,0,0, +0,1,1,0,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 57 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 58 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,0,0,0, -0,0,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,0,0,0, -0,0,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 59 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,0,0,0, -0,0,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,0,0,0, -0,0,1,1,0,0,0, -0,1,1,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,0,0,0, +0,0,0,1,0,0,0,0, /* Char 60 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,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,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,1,1,1,0,0,0, +0,1,1,0,0,0,0,0, +1,1,0,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,1,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 61 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 62 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,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,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,1,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,0,0, +0,0,1,1,1,0,0,0, +0,1,1,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 63 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,1,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,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,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 64 */ -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -1,0,0,1,1,1,0, -1,0,1,0,0,1,0, -1,0,1,0,0,1,0, -1,0,1,0,1,1,0, -1,0,0,1,0,0,1, -0,1,0,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +1,1,0,0,0,1,1,0, +1,0,0,1,1,1,1,0, +1,0,1,1,0,1,1,0, +1,0,1,1,0,1,1,0, +1,0,1,1,0,1,1,0, +1,0,0,1,1,0,1,0, +1,1,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 65 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,1,1,1,1,1,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,1,1,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 66 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 67 */ -0,0,0,0,0,0,0, -0,0,0,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,1,0,0,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,1,0,0, +0,0,1,1,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,0,0,1,0, +0,0,0,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 68 */ -0,0,0,0,0,0,0, -0,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,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,0,0, -0,1,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,0,0, +0,1,1,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 69 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 70 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,1,1,1,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 71 */ -0,0,0,0,0,0,0, -0,0,0,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,1,0,0,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,0,0,1,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,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,1,1,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 72 */ -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 73 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 74 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -1,1,1,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,1,1,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 75 */ -0,0,0,0,0,0,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,1, -0,1,0,0,0,1,0, -0,1,0,0,1,0,0, -0,1,0,1,0,0,0, -0,1,1,1,0,0,0, -0,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,1,1,0,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 76 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 77 */ -0,0,0,0,0,0,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,1, -0,1,1,0,0,1,1, -0,1,1,0,0,1,1, -0,1,0,1,1,0,1, -0,1,0,1,1,0,1, -0,1,0,1,1,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,1,0, +0,1,1,1,1,1,1,0, +0,1,0,1,0,1,1,0, +0,1,0,1,0,1,1,0, +0,1,0,1,0,1,1,0, +0,1,0,1,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 78 */ -0,0,0,0,0,0,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,1,0, -0,1,1,0,0,1,0, -0,1,1,0,0,1,0, -0,1,0,1,0,1,0, -0,1,0,1,0,1,0, -0,1,0,0,1,1,0, -0,1,0,0,1,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,1,0,0,1,0, +0,1,1,1,1,0,1,0, +0,1,0,1,1,0,1,0, +0,1,0,1,1,1,1,0, +0,1,0,0,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 79 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 80 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,1,0,0,0,0,0, -0,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, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 81 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,1,1,0, -0,0,0,0,0,1,1, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,1,1,0, /* Char 82 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 83 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 84 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,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,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 85 */ -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 86 */ -0,0,0,0,0,0,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,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 87 */ -0,0,0,0,0,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, -1,0,0,1,0,0,1, -1,0,0,1,0,0,1, -1,0,0,1,0,0,1, -1,0,1,0,1,0,1, -0,1,1,0,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,0,1,1,1,1,1,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 88 */ -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,0,1,0,0, +0,0,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 89 */ -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 90 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,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,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 91 */ -0,0,0,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,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, /* Char 92 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +1,1,0,0,0,0,0,0, +1,1,0,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, /* Char 93 */ -0,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,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,1,1,1,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, /* Char 94 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,1,0,0,0,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,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,1,1,1,0,0,0, +0,0,1,0,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,0,0,0,1,0,0, +1,1,0,0,0,1,1,0, +1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 95 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, /* Char 96 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 97 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 98 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,1,1,0,0, -0,1,1,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,1,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 99 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,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,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 100 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 101 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 102 */ -0,0,0,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,1,0,0,0,0, -0,0,1,0,0,0,0, -0,1,1,1,1,1,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 103 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, /* Char 104 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,1,1,0,0, -0,1,1,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,1,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 105 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 106 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,1,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,1,1,1,0,0,0,0, /* Char 107 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,1,0,0, -0,1,0,1,0,0,0, -0,1,1,1,0,0,0, -0,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,1,1,0,1,0,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 108 */ -0,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,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 109 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -1,0,1,0,0,1,0, -1,1,0,1,1,0,1, -1,0,0,1,0,0,1, -1,0,0,1,0,0,1, -1,0,0,1,0,0,1, -1,0,0,1,0,0,1, -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,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 110 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,0,1,1,0,0, -0,1,1,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,1,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 111 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 112 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,0,1,1,0,0, -0,1,1,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,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,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,1,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, /* Char 113 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, /* Char 114 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,1,0, -0,0,1,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,1,0,1,1,0, +0,0,1,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 115 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 116 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,1,1,1,1,1,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 117 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 118 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 119 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,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, -1,0,0,1,0,0,1, -1,0,0,1,0,0,1, -1,0,1,0,1,0,1, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,1,1,0,1,0,1,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 120 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,1,0,1,0,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 121 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,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,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,0,0,0,0, +0,0,1,1,0,0,0,0, /* Char 122 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,1,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,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 123 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,1,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,0,0, -0,0,1,1,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,1,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,1,0,0, +0,0,0,0,0,0,0,0, /* Char 124 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, /* Char 125 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,1,1,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,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,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,1,1,1,0,0,0, +0,0,0,0,0,0,0,0, /* Char 126 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,0,0,1, -1,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,0,1,0, +0,1,0,1,1,0,1,0, +0,1,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 127 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 128 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 129 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 130 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 131 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 132 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 133 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 134 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 135 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 136 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 137 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 138 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 139 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 140 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 141 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 142 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 143 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 144 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 145 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 146 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 147 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 148 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 149 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 150 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 151 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 152 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 153 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 154 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 155 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 156 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 157 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 158 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 159 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 160 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 161 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,1,1,1,1,1,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,1,0,0,0, -0,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,1,1,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,1,0,0,0, +0,0,0,0,0,1,1,0, /* Char 162 */ -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,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,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,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 163 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,1,1,0,0, -1,1,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +1,1,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 164 */ -0,0,0,0,0,0,0, -0,0,0,0,0,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,1,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,1,0, -1,0,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +1,0,0,0,0,0,1,0, +1,1,0,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,1,0,0,1,1,0,0, +0,1,0,0,1,1,0,0, +0,1,0,0,1,1,0,0, +0,1,1,1,1,1,0,0, +1,1,0,0,0,1,1,0, +1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 165 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 166 */ -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 167 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,0,0, -0,1,0,1,0,0,0, -0,1,0,0,1,0,0, -0,0,1,0,0,1,0, -0,0,0,1,0,1,0, -0,0,0,0,1,0,0, -0,1,0,0,1,0,0, -0,0,1,1,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,0,0,0,1,1,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, /* Char 168 */ -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,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,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,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,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,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 169 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,1,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 170 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,1,0,0, -0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,0,0,0, +0,0,1,1,0,0,0,0, /* Char 171 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 172 */ -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 173 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 174 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 175 */ -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,1,0, -0,0,0,0,1,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 176 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,0,0,0, -0,1,0,0,1,0,0, -0,0,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 177 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,1, -0,0,0,1,0,0,0, -0,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,0,1,0, +0,0,0,1,0,0,0,0, +0,0,0,0,1,1,0,0, /* Char 178 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,0,1,1,0,0, /* Char 179 */ -0,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,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,1,1,0, -0,1,1,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,1,1,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 180 */ -0,0,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,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 181 */ -0,1,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,1,0,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 182 */ -0,0,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,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 183 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,1,0, -0,0,0,0,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 184 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,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,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,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,1,0,0,0,0, /* Char 185 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 186 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,1,1,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,1,1,1,1,0,0, -0,0,0,1,0,0,0, -0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,1,1,1,0, +0,0,0,0,0,1,1,0, +0,1,1,1,1,1,0,0, +0,0,0,0,1,0,0,0, +0,0,1,1,0,0,0,0, /* Char 187 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,1,1,1,1,1,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 188 */ -0,0,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,0,0,0,0,0, -0,1,1,1,1,1,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,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 189 */ -0,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,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,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,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 190 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,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,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 191 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,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,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,1,1,1,0, +0,0,0,1,1,1,0,0, +0,0,1,1,1,0,0,0, +0,1,1,1,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 192 */ -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 193 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,1,1,1,1,1,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,1,1,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 194 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,1,1,1,1,1,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,1,1,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 195 */ -0,0,0,0,0,0,0, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,1,1,1,1,1,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,1,1,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 196 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,1,1,1,1,1,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,0,1,0,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,0,1,0,1,1,0,0, +0,1,1,1,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 197 */ -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 198 */ -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,1,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,1,0,0, +0,0,1,1,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,0,0,1,0, +0,0,0,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 199 */ -0,0,0,0,0,0,0, -0,0,0,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,1,0,0,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,1,0,0, -0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,1,0,0, +0,0,1,1,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,0,0,1,0, +0,0,0,1,1,1,0,0, +0,0,0,0,1,0,0,0, +0,0,1,1,0,0,0,0, /* Char 200 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,1,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,1,0,0, +0,0,1,1,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,0,1,1,0,0,1,0, +0,0,0,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 201 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 202 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,1,0,0,0,0, -0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,1,0,0,0,0, +0,0,0,0,1,1,0,0, /* Char 203 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,1,0, +0,0,0,1,0,0,1,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 204 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 205 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 206 */ -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,1,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,1,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,1,1,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 207 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,0,0,0, -0,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,0,0, -0,1,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,0,0, +0,1,1,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 208 */ -0,0,0,0,0,0,0, -0,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,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -1,1,1,1,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,0,0, -0,1,1,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +1,1,1,1,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,0,0, +0,1,1,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 209 */ -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,1,0,0,1,0, -0,1,1,0,0,1,0, -0,1,0,1,0,1,0, -0,1,0,1,0,1,0, -0,1,0,0,1,1,0, -0,1,0,0,1,1,0, -0,1,0,0,0,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,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,1,0,0,1,0, +0,1,1,1,1,0,1,0, +0,1,0,1,1,0,1,0, +0,1,0,1,1,1,1,0, +0,1,0,0,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 210 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,1,0,0,1,0, -0,1,1,0,0,1,0, -0,1,0,1,0,1,0, -0,1,0,1,0,1,0, -0,1,0,0,1,1,0, -0,1,0,0,1,1,0, -0,1,0,0,0,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,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,1,0,0,1,0, +0,1,1,1,1,0,1,0, +0,1,0,1,1,0,1,0, +0,1,0,1,1,1,1,0, +0,1,0,0,1,1,1,0, +0,1,0,0,0,1,1,0, +0,1,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 211 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 212 */ -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,1,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 213 */ -0,0,0,0,0,0,0, -0,0,0,1,0,0,1, -0,0,1,0,0,1,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 214 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,1,0, -0,0,1,0,0,1,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,1,0,0,0,0,1, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,0,1,0,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,0,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 215 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,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,1,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,1,0,1,0,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,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +1,1,0,0,0,0,1,0, +0,1,1,0,0,1,0,0, +0,0,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,1,0,0,0,1,1,0, +1,0,0,0,0,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 216 */ -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,0,0, -0,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,0,0, +0,1,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 217 */ -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 218 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 219 */ -0,0,0,0,0,0,0, -0,0,1,0,0,1,0, -0,1,0,0,1,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 220 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,0,1,0,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,1,1,0,0,0,1,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 221 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,1,1,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 222 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,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,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,1,0,0,0, +0,0,1,1,0,0,0,0, /* Char 223 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,0,0,0, -0,1,0,0,1,0,0, -0,1,0,0,1,0,0, -0,1,0,1,0,0,0, -0,1,0,1,0,0,0, -0,1,0,0,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,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,1,1,1,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,0,0,1,0,0, +0,1,1,0,0,1,0,0, +0,1,1,0,1,0,0,0, +0,1,1,0,0,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 224 */ -0,0,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,0,0,0,0,0, -0,0,1,0,1,1,0, -0,0,1,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,1,0,1,1,0, +0,0,1,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 225 */ -0,0,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,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 226 */ -0,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,1,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 227 */ -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,1,1,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +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,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 228 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,1, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +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,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,0,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 229 */ -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,0,0,0,0,0,0, -0,1,1,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 230 */ -0,0,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,0,0,0,0,0, -0,0,0,1,1,1,0, -0,0,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 231 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,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,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,1,0,0, -0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,1,0,0,0,0, +0,1,1,0,0,0,0,0, /* Char 232 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,1,0, -0,0,1,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,1,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 233 */ -0,0,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,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 234 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,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,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,1,0,0,0,0, +0,0,0,0,1,1,0,0, /* Char 235 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,0,1,0,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 236 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,1,1,1,1,0, -0,1,0,0,0,0,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,1,1,1,1,0, +0,1,1,0,0,0,0,0, +0,1,1,0,0,0,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 237 */ -0,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,0,0,0,0,0,0, -0,1,1,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 238 */ -0,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,1,0,0, -0,0,0,0,0,0,0, -0,1,1,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,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,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,1,1,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 239 */ -0,0,0,1,0,1,0, -0,0,0,0,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,1,0,1,1,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 240 */ -0,0,0,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,1,1,1,1,1, -0,0,0,0,0,1,0, -0,0,1,1,1,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,1, +0,0,0,0,0,1,1,0, +0,0,1,1,1,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 241 */ -0,0,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,0,0,0,0,0, -0,1,0,1,1,0,0, -0,1,1,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,1,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 242 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,1,0,1,1,0,0, -0,1,1,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,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,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,1,1,0,0, +0,1,1,1,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 243 */ -0,0,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,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 244 */ -0,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,1,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 245 */ -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, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 246 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,0,0,0,0, -0,0,1,1,1,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,0,0,1,0,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,1,1,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 247 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -1,1,1,1,1,1,1, -0,0,0,0,0,0,0, -0,0,0,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,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0, +1,1,1,1,1,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 248 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,1,0, -0,0,1,1,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,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,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,1,1,0, +0,0,0,0,1,1,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,1,0,1,1,0, +0,0,1,1,1,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 249 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,1,0,0,1,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,1,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 250 */ -0,0,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,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 251 */ -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, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,1,1,0,1,1,0, +0,0,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 252 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,1,1,0, -0,0,1,1,0,1,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,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,1,0,0,1,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,1,1,1,0, +0,0,1,1,0,1,1,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, /* Char 253 */ -0,0,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,0,0,0,0,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,1,0,0,0,1,0, -0,0,1,0,1,0,0, -0,0,1,0,1,0,0, -0,0,0,1,0,0,0, -0,0,0,1,0,0,0, -0,0,1,0,0,0,0, -0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,1,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,1,1,0,0,1,1,0, +0,0,1,1,0,1,0,0, +0,0,1,1,0,1,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,0,0,0,0, +0,0,1,1,0,0,0,0, /* Char 254 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,1,1,1,1,1,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,1,0,0,0,0, -0,0,0,1,1,1,0, -0,0,0,1,0,0,0, -0,1,1,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,1,1,1,1,1,1,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,1,1,0,0,0,0, +0,0,0,1,1,1,1,0, +0,0,0,0,1,0,0,0, +0,0,1,1,0,0,0,0, /* Char 255 */ -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,1,1,0,0, -0,0,0,1,1,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, -0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,1,1,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, }; @@ -4371,7 +4371,7 @@ gdFont gdLucidaBold12l2Rep = { 256, 0, - 7, + 8, 15, gdLucidaBold12l2Data }; Modified: trunk/orca/packages/rrdtool-1.0.49/gd1.3/gdlucidab12l2.h ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/gd1.3/gdlucidab12l2.h (original) +++ trunk/orca/packages/rrdtool-1.0.49/gd1.3/gdlucidab12l2.h Sat Aug 21 11:59:00 2004 @@ -6,8 +6,8 @@ This is a header file for gd font, generated using bdftogd version 0.60 by Jan Pazdziora, adelton at fi.muni.cz from bdf font - -B&H-LucidaTypewriter-Medium-R-Normal-Sans-12-120-75-75-M-70-iso8859-2 - at Wed Apr 2 23:46:21 2003. + -B&H-LucidaTypewriter-Bold-R-Normal-Sans-12-120-75-75-M-70-iso8859-2 + at Thu Jul 15 22:48:11 2004. The original bdf was holding following copyright: "Copyright Bigelow & Holmes 1986, 1985." */ Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/png.h ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/png.h (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/png.h Sat Aug 21 11:59:00 2004 @@ -764,7 +764,11 @@ typedef png_info FAR * FAR * png_infopp; /* Maximum positive integer used in PNG is (2^31)-1 */ -#define PNG_MAX_UINT ((png_uint_32)0x7fffffffL) +#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL) +#define PNG_UINT_32_MAX (~((png_uint_32)0)) +#define PNG_SIZE_MAX (~((png_size_t)0)) +/* PNG_MAX_UINT is deprecated; use PNG_UINT_31_MAX instead. */ +#define PNG_MAX_UINT PNG_UINT_31_MAX /* These describe the color_type field in png_info. */ /* color type masks */ @@ -2455,6 +2459,8 @@ PNG_EXTERN png_uint_32 png_get_uint_32 PNGARG((png_bytep buf)); PNG_EXTERN png_uint_16 png_get_uint_16 PNGARG((png_bytep buf)); #endif /* !PNG_READ_BIG_ENDIAN_SUPPORTED */ +PNG_EXTERN png_uint_32 png_get_uint_31 PNGARG((png_structp png_ptr, + png_bytep buf)); /* Initialize png_ptr struct for reading, and allocate any other memory. * (old interface - DEPRECATED - use png_create_read_struct instead). Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngconf.h ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/pngconf.h (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngconf.h Sat Aug 21 11:59:00 2004 @@ -602,6 +602,13 @@ # endif #endif +#ifndef PNG_USER_WIDTH_MAX +# define PNG_USER_WIDTH_MAX 1000000L +#endif +#ifndef PNG_USER_HEIGHT_MAX +# define PNG_USER_HEIGHT_MAX 1000000L +#endif + /* These are currently experimental features, define them if you want */ /* very little testing */ @@ -1198,6 +1205,7 @@ # define CVT_PTR(ptr) (png_far_to_near(png_ptr,ptr,CHECK)) # define CVT_PTR_NOCHECK(ptr) (png_far_to_near(png_ptr,ptr,NOCHECK)) # define png_strcpy _fstrcpy +# define png_strncpy _fstrncpy /* Added to v 1.2.6 */ # define png_strlen _fstrlen # define png_memcmp _fmemcmp /* SJT: added */ # define png_memcpy _fmemcpy @@ -1206,6 +1214,7 @@ # define CVT_PTR(ptr) (ptr) # define CVT_PTR_NOCHECK(ptr) (ptr) # define png_strcpy strcpy +# define png_strncpy strncpy /* Added to v 1.2.6 */ # define png_strlen strlen # define png_memcmp memcmp /* SJT: added */ # define png_memcpy memcpy Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngerror.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/pngerror.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngerror.c Sat Aug 21 11:59:00 2004 @@ -91,7 +91,7 @@ { buffer[iout++] = ':'; buffer[iout++] = ' '; - png_memcpy(buffer+iout, message, 64); + png_strncpy(buffer+iout, message, 63); buffer[iout+63] = 0; } } Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngpread.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/pngpread.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngpread.c Sat Aug 21 11:59:00 2004 @@ -208,7 +208,7 @@ } png_push_fill_buffer(png_ptr, chunk_length, 4); - png_ptr->push_length = png_get_uint_32(chunk_length); + png_ptr->push_length = png_get_uint_31(png_ptr,chunk_length); png_reset_crc(png_ptr); png_crc_read(png_ptr, png_ptr->chunk_name, 4); png_ptr->mode |= PNG_HAVE_CHUNK_HEADER; @@ -581,6 +581,11 @@ png_size_t new_max; png_bytep old_buffer; + if (png_ptr->save_buffer_size > PNG_SIZE_MAX - + (png_ptr->current_buffer_size + 256)) + { + png_error(png_ptr, "Potential overflow of save_buffer"); + } new_max = png_ptr->save_buffer_size + png_ptr->current_buffer_size + 256; old_buffer = png_ptr->save_buffer; png_ptr->save_buffer = (png_bytep)png_malloc(png_ptr, @@ -627,8 +632,7 @@ } png_push_fill_buffer(png_ptr, chunk_length, 4); - png_ptr->push_length = png_get_uint_32(chunk_length); - + png_ptr->push_length = png_get_uint_31(png_ptr,chunk_length); png_reset_crc(png_ptr); png_crc_read(png_ptr, png_ptr->chunk_name, 4); png_ptr->mode |= PNG_HAVE_CHUNK_HEADER; Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngread.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/pngread.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngread.c Sat Aug 21 11:59:00 2004 @@ -313,7 +313,7 @@ png_uint_32 length; png_read_data(png_ptr, chunk_length, 4); - length = png_get_uint_32(chunk_length); + length = png_get_uint_31(png_ptr,chunk_length); png_reset_crc(png_ptr); png_crc_read(png_ptr, png_ptr->chunk_name, 4); @@ -602,7 +602,7 @@ png_crc_finish(png_ptr, 0); png_read_data(png_ptr, chunk_length, 4); - png_ptr->idat_size = png_get_uint_32(chunk_length); + png_ptr->idat_size = png_get_uint_31(png_ptr,chunk_length); png_reset_crc(png_ptr); png_crc_read(png_ptr, png_ptr->chunk_name, 4); @@ -875,7 +875,7 @@ #endif /* PNG_GLOBAL_ARRAYS */ png_read_data(png_ptr, chunk_length, 4); - length = png_get_uint_32(chunk_length); + length = png_get_uint_31(png_ptr,chunk_length); png_reset_crc(png_ptr); png_crc_read(png_ptr, png_ptr->chunk_name, 4); @@ -1216,6 +1216,9 @@ */ png_read_info(png_ptr, info_ptr); + if (info_ptr->height > PNG_UINT_32_MAX/sizeof(png_bytep)) + png_error(png_ptr,"Image is too high to process with png_read_png()"); + /* -------------- image transformations start here ------------------- */ #if defined(PNG_READ_16_TO_8_SUPPORTED) Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngrtran.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/pngrtran.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngrtran.c Sat Aug 21 11:59:00 2004 @@ -1848,8 +1848,8 @@ /* This changes the data from GG to GGXX */ if (flags & PNG_FLAG_FILLER_AFTER) { - png_bytep sp = row + (png_size_t)row_width; - png_bytep dp = sp + (png_size_t)row_width; + png_bytep sp = row + (png_size_t)row_width * 2; + png_bytep dp = sp + (png_size_t)row_width * 2; for (i = 1; i < row_width; i++) { *(--dp) = hi_filler; @@ -1866,8 +1866,8 @@ /* This changes the data from GG to XXGG */ else { - png_bytep sp = row + (png_size_t)row_width; - png_bytep dp = sp + (png_size_t)row_width; + png_bytep sp = row + (png_size_t)row_width * 2; + png_bytep dp = sp + (png_size_t)row_width * 2; for (i = 0; i < row_width; i++) { *(--dp) = *(--sp); @@ -1924,8 +1924,8 @@ /* This changes the data from RRGGBB to RRGGBBXX */ if (flags & PNG_FLAG_FILLER_AFTER) { - png_bytep sp = row + (png_size_t)row_width * 3; - png_bytep dp = sp + (png_size_t)row_width; + png_bytep sp = row + (png_size_t)row_width * 6; + png_bytep dp = sp + (png_size_t)row_width * 2; for (i = 1; i < row_width; i++) { *(--dp) = hi_filler; @@ -1946,8 +1946,8 @@ /* This changes the data from RRGGBB to XXRRGGBB */ else { - png_bytep sp = row + (png_size_t)row_width * 3; - png_bytep dp = sp + (png_size_t)row_width; + png_bytep sp = row + (png_size_t)row_width * 6; + png_bytep dp = sp + (png_size_t)row_width * 2; for (i = 0; i < row_width; i++) { *(--dp) = *(--sp); Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngrutil.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/pngrutil.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngrutil.c Sat Aug 21 11:59:00 2004 @@ -38,6 +38,14 @@ # endif #endif +png_uint_32 /* PRIVATE */ +png_get_uint_31(png_structp png_ptr, png_bytep buf) +{ + png_uint_32 i = png_get_uint_32(buf); + if (i > PNG_UINT_31_MAX) + png_error(png_ptr, "PNG unsigned integer out of range.\n"); + return (i); +} #ifndef PNG_READ_BIG_ENDIAN_SUPPORTED /* Grab an unsigned 32-bit integer from a buffer in big-endian format. */ png_uint_32 /* PRIVATE */ @@ -603,7 +611,7 @@ /* Should be an error, but we can cope with it */ png_warning(png_ptr, "Out of place gAMA chunk"); - else if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_gAMA) + if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_gAMA) #if defined(PNG_READ_sRGB_SUPPORTED) && !(info_ptr->valid & PNG_INFO_sRGB) #endif @@ -680,7 +688,7 @@ /* Should be an error, but we can cope with it */ png_warning(png_ptr, "Out of place sBIT chunk"); } - else if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_sBIT)) + if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_sBIT)) { png_warning(png_ptr, "Duplicate sBIT chunk"); png_crc_finish(png_ptr, length); @@ -747,7 +755,7 @@ /* Should be an error, but we can cope with it */ png_warning(png_ptr, "Missing PLTE before cHRM"); - else if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_cHRM) + if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_cHRM) #if defined(PNG_READ_sRGB_SUPPORTED) && !(info_ptr->valid & PNG_INFO_sRGB) #endif @@ -900,7 +908,7 @@ /* Should be an error, but we can cope with it */ png_warning(png_ptr, "Out of place sRGB chunk"); - else if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_sRGB)) + if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_sRGB)) { png_warning(png_ptr, "Duplicate sRGB chunk"); png_crc_finish(png_ptr, length); @@ -996,8 +1004,7 @@ png_byte compression_type; png_charp profile; png_uint_32 skip = 0; - png_uint_32 profile_size = 0; - png_uint_32 profile_length = 0; + png_uint_32 profile_size, profile_length; png_size_t slength, prefix_length, data_length; png_debug(1, "in png_handle_iCCP\n"); @@ -1014,7 +1021,7 @@ /* Should be an error, but we can cope with it */ png_warning(png_ptr, "Out of place iCCP chunk"); - else if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_iCCP)) + if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_iCCP)) { png_warning(png_ptr, "Duplicate iCCP chunk"); png_crc_finish(png_ptr, length); @@ -1163,8 +1170,18 @@ } new_palette.nentries = data_length / entry_size; + if (new_palette.nentries > PNG_SIZE_MAX / sizeof(png_sPLT_entry)) + { + png_warning(png_ptr, "sPLT chunk too long"); + return; + } new_palette.entries = (png_sPLT_entryp)png_malloc( png_ptr, new_palette.nentries * sizeof(png_sPLT_entry)); + if (new_palette.entries == NULL) + { + png_warning(png_ptr, "sPLT chunk requires too much memory"); + return; + } #ifndef PNG_NO_POINTER_INDEXING for (i = 0; i < new_palette.nentries; i++) @@ -1250,7 +1267,8 @@ /* Should be an error, but we can cope with it */ png_warning(png_ptr, "Missing PLTE before tRNS"); } - else if (length > (png_uint_32)png_ptr->num_palette) + if (length > (png_uint_32)png_ptr->num_palette || + length > PNG_MAX_PALETTE_LENGTH) { png_warning(png_ptr, "Incorrect tRNS chunk length"); png_crc_finish(png_ptr, length); Modified: trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngset.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/libpng-1.0.9/pngset.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/libpng-1.0.9/pngset.c Sat Aug 21 11:59:00 2004 @@ -172,6 +172,9 @@ if (png_ptr == NULL || info_ptr == NULL) return; + if (width > PNG_USER_WIDTH_MAX || height > PNG_USER_HEIGHT_MAX) + png_error(png_ptr, "image size exceeds user limits in IHDR"); + info_ptr->width = width; info_ptr->height = height; info_ptr->bit_depth = (png_byte)bit_depth; Modified: trunk/orca/packages/rrdtool-1.0.49/perl-piped/RRDp.pm ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/perl-piped/RRDp.pm (original) +++ trunk/orca/packages/rrdtool-1.0.49/perl-piped/RRDp.pm Sat Aug 21 11:59:00 2004 @@ -110,7 +110,7 @@ sub end (); sub read (); -$VERSION = 1.000461 ; +$VERSION = 1.000491 ; sub start ($){ croak "rrdtool is already running" Modified: trunk/orca/packages/rrdtool-1.0.49/perl-shared/Makefile.PL.in ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/perl-shared/Makefile.PL.in (original) +++ trunk/orca/packages/rrdtool-1.0.49/perl-shared/Makefile.PL.in Sat Aug 21 11:59:00 2004 @@ -10,10 +10,11 @@ 'NAME' => 'RRDs', 'VERSION_FROM' => '@top_srcdir@/perl-shared/RRDs.pm', # finds $VERSION 'DEFINE' => "-DPERLPATCHLEVEL=$Config{PATCHLEVEL}", - 'INC' => '-I at top_srcdir@/src -I at top_srcdir@/gd1.3', + 'INC' => '-I at top_srcdir@ -I at top_srcdir@/src -I at top_srcdir@/gd1.3', + 'CCFLAGS' => "$Config{ccflags} -DHAVE_CONFIG_H", # where to look for the necessary libraries # Perl will figure out which one is valid - 'depend' => {'RRDs.c' => "../src/.libs/librrd_private.a"}, + 'depend' => {'RRDs.c' => "@top_srcdir@/src/.libs/librrd_private.a"}, 'dynamic_lib' => {'OTHERLDFLAGS' => "$librrd -lm"}, 'realclean' => {FILES => 't/demo?.rrd t/demo?.gif' } ); Modified: trunk/orca/packages/rrdtool-1.0.49/perl-shared/RRDs.pm ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/perl-shared/RRDs.pm (original) +++ trunk/orca/packages/rrdtool-1.0.49/perl-shared/RRDs.pm Sat Aug 21 11:59:00 2004 @@ -7,7 +7,7 @@ require DynaLoader; -$VERSION = 1.000461; +$VERSION = 1.000491; bootstrap RRDs $VERSION; @@ -29,6 +29,7 @@ RRDs::graph ... RRDs::fetch ... RRDs::tune ... + RRDs::times(start, end) =head1 DESCRIPTION @@ -51,6 +52,11 @@ is also valid. +The RRDs::times function takes two parameters: a "start" and "end" time. +These should be specified in the B format +used by rrdtool. See the B documentation for a detailed +explanation on how to specify time. + =head2 Error Handling The RRD functions will not abort your program even when they can not make @@ -67,8 +73,8 @@ =head2 Return Values -The functions RRDs::last, RRDs::graph, RRDs::info and RRDs::fetch return their -findings. +The functions RRDs::last, RRDs::graph, RRDs::info, RRDs::fetch and RRDs::times +return their findings. B returns a single INTEGER representing the last update time. @@ -109,6 +115,9 @@ print "\n"; } +B returns two integers which are the number of seconds since +epoch (1970-01-01) for the supplied "start" and "end" arguments, respectively. + See the examples directory for more ways to use this extension. =head1 NOTE Modified: trunk/orca/packages/rrdtool-1.0.49/perl-shared/RRDs.xs ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/perl-shared/RRDs.xs (original) +++ trunk/orca/packages/rrdtool-1.0.49/perl-shared/RRDs.xs Sat Aug 21 11:59:00 2004 @@ -338,4 +338,52 @@ OUTPUT: RETVAL +void +rrd_times(start, end) + char *start + char *end + PREINIT: + struct rrd_time_value start_tv, end_tv; + char *parsetime_error = NULL; + time_t start_tmp, end_tmp; + PPCODE: + rrd_clear_error(); + if( (parsetime_error = parsetime( start, &start_tv))) { + rrd_set_error( "start time: %s", parsetime_error); + XSRETURN_UNDEF; + } + if( (parsetime_error = parsetime( end, &end_tv))) { + rrd_set_error( "end time: %s", parsetime_error); + XSRETURN_UNDEF; + } + if( proc_start_end( &start_tv, &end_tv, &start_tmp, &end_tmp) == -1) { + XSRETURN_UNDEF; + } + EXTEND(sp,2); + PUSHs(sv_2mortal(newSViv(start_tmp))); + PUSHs(sv_2mortal(newSViv(end_tmp))); + +int +rrd_dump(...) + PROTOTYPE: @ + PREINIT: + int i; + char **argv; + CODE: + rrdcode(rrd_dump); + RETVAL = 1; + OUTPUT: + RETVAL + +int +rrd_restore(...) + PROTOTYPE: @ + PREINIT: + int i; + char **argv; + CODE: + rrdcode(rrd_restore); + RETVAL = 1; + OUTPUT: + RETVAL Copied: trunk/orca/packages/rrdtool-1.0.49/rrdtool.spec (from r380, trunk/orca/packages/rrdtool-1.0.46/rrdtool.spec) ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/rrdtool.spec (original) +++ trunk/orca/packages/rrdtool-1.0.49/rrdtool.spec Sat Aug 21 11:59:00 2004 @@ -5,7 +5,7 @@ Summary: RRDtool - round robin database Name: rrdtool -Version: 1.0.46 +Version: 1.0.49 Release: 1.%{DISTRO_REL} Copyright: GPL Group: Applications/Databases Modified: trunk/orca/packages/rrdtool-1.0.49/src/Makefile.am ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/Makefile.am (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/Makefile.am Sat Aug 21 11:59:00 2004 @@ -110,5 +110,5 @@ rrdtool_SOURCES = rrd_tool.c rrdtool_LDADD = librrd.la -EXTRA_DIST= rrdtool.dsp rrdtool.dsw rrd.vcproj rrd_cgi.vcproj rrdtool.vcproj +EXTRA_DIST= rrdtool.dsp rrdtool.dsw rrd.vcproj rrd_cgi.vcproj rrdtool.vcproj Modified: trunk/orca/packages/rrdtool-1.0.49/src/Makefile.in ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/Makefile.in (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/Makefile.in Sat Aug 21 11:59:00 2004 @@ -253,7 +253,7 @@ rrdtool_SOURCES = rrd_tool.c rrdtool_LDADD = librrd.la -EXTRA_DIST = rrdtool.dsp rrdtool.dsw rrd.vcproj rrd_cgi.vcproj rrdtool.vcproj +EXTRA_DIST = rrdtool.dsp rrdtool.dsw rrd.vcproj rrd_cgi.vcproj rrdtool.vcproj subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs Modified: trunk/orca/packages/rrdtool-1.0.49/src/gdpng.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/gdpng.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/gdpng.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * gdpng.c add PNG output routine to gd library *****************************************************************************/ Modified: trunk/orca/packages/rrdtool-1.0.49/src/gifsize.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/gifsize.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/gifsize.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 **************************************************************************** * gifsize.c provides the function gifsize which determines the size of a gif ****************************************************************************/ Modified: trunk/orca/packages/rrdtool-1.0.49/src/parsetime.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/parsetime.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/parsetime.c Sat Aug 21 11:59:00 2004 @@ -556,6 +556,7 @@ { int hour, minute = 0; int tlen; + /* save token status in case we must abort */ int scc_sv = scc; char *sct_sv = sct; @@ -660,6 +661,7 @@ { long mday=0, wday, mon, year = ptv->tm.tm_year; int tlen; + time_t montime; switch (sc_tokid) { case YESTERDAY: @@ -713,7 +715,8 @@ tlen = strlen(sc_token); mon = atol(sc_token); if (mon > 10*365*24*60*60) { - ptv->tm=*localtime(&mon); + montime = mon; + ptv->tm=*localtime(&montime); token(); break; } Modified: trunk/orca/packages/rrdtool-1.0.49/src/pngsize.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/pngsize.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/pngsize.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * pngsize.c determine the size of a PNG image *****************************************************************************/ Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd.h ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd.h (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd.h Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997,1998, 1999 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997,1998, 1999 ***************************************************************************** * rrdlib.h Public header file for librrd ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_cgi.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_cgi.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_cgi.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_cgi.c RRD Web Page Generator *****************************************************************************/ @@ -10,8 +10,8 @@ #define MEMBLK 1024 -/*#define DEBUG_PARSER -#define DEBUG_VARS*/ +/* #define DEBUG_PARSER */ +/* #define DEBUG_VARS */ /* global variable for libcgi */ s_cgi **cgiArg; @@ -220,6 +220,9 @@ parse(&buffer, i, "= argc ) { fprintf(stderr, "ERROR: expected a filename\n"); exit(1); @@ -316,6 +315,11 @@ /* initialize variable heap */ initvar(); +#ifdef DEBUG_PARSER + /* some fake header for testing */ + printf ("Content-Type: text/html\nContent-Length: 10000000\n\n\n"); +#endif + /* expand rrd directives in buffer recursivly */ for (i=0; buffer[i]; i++) { if (buffer[i] != '<') @@ -433,7 +437,11 @@ if (envvar) { return stralloc(envvar); } else { +#ifdef WIN32 + _snprintf(buf, sizeof(buf), "[ERROR:_getenv_'%s'_failed", args[0]); +#else snprintf(buf, sizeof(buf), "[ERROR:_getenv_'%s'_failed", args[0]); +#endif return stralloc(buf); } } @@ -449,7 +457,11 @@ if (value) { return stralloc(value); } else { +#ifdef WIN32 + _snprintf(buf, sizeof(buf), "[ERROR:_getvar_'%s'_failed", args[0]); +#else snprintf(buf, sizeof(buf), "[ERROR:_getvar_'%s'_failed", args[0]); +#endif return stralloc(buf); } } @@ -603,57 +615,60 @@ /* remove occurrences of .. this is a general measure to make paths which came in via cgi do not go UP ... */ +char* cgigetqp(long argc, char **args) +{ + char* buf; + char* buf2; + char* p; + char* d; -char* cgigetqp(long argc, char **args){ - if (argc>= 1) { - char *buf = rrdstrip(cgiGetValue(cgiArg,args[0])); - char *buf2; - char *c,*d; - int qc=0; + if (argc < 1) + { + return stralloc("[ERROR: not enough arguments for RRD::CV::PATH]"); + } - if (buf==NULL) + buf = rrdstrip(cgiGetValue(cgiArg, args[0])); + if (!buf) + { return NULL; - - for(c=buf;*c != '\0';c++) { - if (*c == '"') { - qc++; - } } - if ((buf2 = malloc((strlen(buf) + 4 * qc + 4))) == NULL) { - perror("Malloc Buffer"); + buf2 = malloc(strlen(buf)+1); + if (!buf2) + { + perror("cgigetqp(): Malloc Path Buffer"); exit(1); }; - c=buf; - d=buf2; + p = buf; + d = buf2; - *(d++) = '"'; - while (*c != '\0') { - if (*c == '"') { - *(d++) = '"'; - *(d++) = '\''; - *(d++) = '"'; - *(d++) = '\''; + while (*p) + { + /* prevent mallicious paths from entering the system */ + if (p[0] == '.' && p[1] == '.') + { + p += 2; + *d++ = '_'; + *d++ = '_'; } - if(*c == '/') { - *(d++) = '_'; - c++; - } else { - if (*c=='.' && *(c+1) == '.') { - c += 2; - *(d++) = '_'; *(d++) ='_'; - } else { - *(d++) = *(c++); - } + else + { + *d++ = *p++; } } - *(d++) = '"'; - *(d) = '\0'; + + *d = 0; free(buf); + + /* Make sure the path is relative, e.g. does not start with '/' */ + p = buf2; + while ('/' == *p) + { + *p++ = '_'; + } + return buf2; - } - return stralloc("[ERROR: not enough arguments for RRD::CV::PATH]"); } @@ -817,7 +832,7 @@ { case ' ': if (Quote || tagcount) { - /* copy quoted/tagged string */ + /* copy quoted/tagged (=RRD expanded) strings */ *putP++ = c; } else if (in_arg) @@ -843,7 +858,7 @@ } } else { if (!in_arg) { - /* reference argument string in argument array */ + /* reference start of argument string in argument array */ argv[argc++] = putP; in_arg=1; } @@ -852,22 +867,20 @@ break; default: - if (!Quote) { - if (!in_arg) { - /* start new argument */ - argv[argc++] = putP; - in_arg = 1; - } - if (c == '>') { - if (tagcount) { - tagcount--; - } + if (!in_arg) { + /* start new argument */ + argv[argc++] = putP; + in_arg = 1; + } + if (c == '>') { + if (tagcount) { + tagcount--; } - if (c == '<') { - tagcount++; - if (0 == strncmp(getP, "RRD::", strlen("RRD::"))) { - curarg_contains_rrd_directives = 1; - } + } + if (c == '<') { + tagcount++; + if (0 == strncmp(getP, "RRD::", strlen("RRD::"))) { + curarg_contains_rrd_directives = 1; } } *putP++ = c; @@ -932,7 +945,7 @@ char *(*func)(long argc, char **args) /* function to call for 'tag' */ ) { - /* the name of the vairable ... */ + /* the name of the variable ... */ char *val; long valln; char **args; Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_create.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_create.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_create.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_create.c creates new RRDs *****************************************************************************/ Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_diff.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_diff.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_diff.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1999 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1999 * This code is stolen from rateup (mrtg-2.x) by Dave Rand ***************************************************************************** * diff calculate the difference between two very long integers available as Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_dump.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_dump.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_dump.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_dump Display a RRD ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_error.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_error.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_error.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_error.c Common Header File ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_fetch.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_fetch.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_fetch.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_fetch.c read date from an rrd to use for further processing ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_format.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_format.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_format.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1999 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1999 ***************************************************************************** * rrd_format.c RRD Database Format helper functions ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_format.h ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_format.h (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_format.h Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997, 1998, 1999 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997, 1998, 1999 ***************************************************************************** * rrd_format.h RRD Database Format header *****************************************************************************/ Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_graph.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_graph.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_graph.c Sat Aug 21 11:59:00 2004 @@ -1,11 +1,16 @@ /**************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 **************************************************************************** * rrd__graph.c make creates ne rrds ****************************************************************************/ #include "rrd_tool.h" + +#ifdef WIN32 +#include +#endif + #include "rrd_graph.h" #include @@ -39,15 +44,6 @@ #define LargeFont gdLucidaBold12 #endif -/* #define DEBUG */ - -#ifdef DEBUG -# define DPRINT(x) (void)(printf x, printf("\n")) -#else -# define DPRINT(x) -#endif - - xlab_t xlab[] = { {0, TMT_SECOND,30, TMT_MINUTE,5, TMT_MINUTE,5, 0,"%H:%M"}, {2, TMT_MINUTE,1, TMT_MINUTE,5, TMT_MINUTE,5, 0,"%H:%M"}, @@ -56,7 +52,7 @@ {30, TMT_MINUTE,10, TMT_HOUR,1, TMT_HOUR,1, 0,"%H:%M"}, {60, TMT_MINUTE,30, TMT_HOUR,2, TMT_HOUR,2, 0,"%H:%M"}, {180, TMT_HOUR,1, TMT_HOUR,6, TMT_HOUR,6, 0,"%H:%M"}, - /*{300, TMT_HOUR,3, TMT_HOUR,12, TMT_HOUR,12, 12*3600,"%a %p"}, this looks silly*/ + /* {300, TMT_HOUR,3, TMT_HOUR,12, TMT_HOUR,12, 12*3600,"%a %p"}, this looks silly */ {600, TMT_HOUR,6, TMT_DAY,1, TMT_DAY,1, 24*3600,"%a"}, {1800, TMT_HOUR,12, TMT_DAY,1, TMT_DAY,2, 24*3600,"%a"}, {3600, TMT_DAY,1, TMT_WEEK,1, TMT_WEEK,1, 7*24*3600,"Week %V"}, @@ -353,7 +349,7 @@ im->magfact = pow((double)im->base , digits); #ifdef DEBUG - printf("digits %6.3f im->magfact %6.3f\n",digits,im->magfact); + fprintf(stderr,"digits %6.3f im->magfact %6.3f\n",digits,im->magfact); #endif if ( ((digits+symbcenter) < sizeof(symbol)) && @@ -384,16 +380,42 @@ #ifdef DEBUG - printf("Min: %6.2f Max: %6.2f MagFactor: %6.2f\n", + fprintf(stderr,"Min: %6.2f Max: %6.2f MagFactor: %6.2f\n", im->minval,im->maxval,im->magfact); #endif if (isnan(im->ygridstep)){ if(im->extra_flags & ALTYMRTG) { /* mrtg */ - int decimals = ceil(log10(max(fabs(im->maxval),fabs(im->minval)))); - double scaledstep = ceil(25 * pow((double)10,-decimals) * im->maxval) * pow((double)10,decimals - 2); - im->minval = 0; - im->maxval = 4 * scaledstep; + im->decimals = ceil(log10(max(fabs(im->maxval),fabs(im->minval)))); + im->quadrant = 0; + if (im->minval < 0) { + im->quadrant = 2; + if (im->maxval <= 0) + im->quadrant = 4; + } + switch (im->quadrant) { + case 2: + im->scaledstep = ceil(50 * pow((double)10,-(im->decimals)) * max(fabs(im->maxval),fabs(im->minval))) * pow((double)10,im->decimals - 2); + scaled_min = -2 * im->scaledstep; + scaled_max = 2 * im->scaledstep; + break; + case 4: + im->scaledstep = ceil(25 * pow((double)10,-(im->decimals)) * fabs(im->minval)) * pow((double)10,im->decimals - 2); + scaled_min = -4 * im->scaledstep; + scaled_max = 0; + break; + default: /* quadrant 0 */ + im->scaledstep = ceil(25 * pow((double)10,-(im->decimals)) * im->maxval) * pow((double)10,im->decimals - 2); + scaled_min = 0; + scaled_max = 4 * im->scaledstep; + break; + } +#ifdef DEBUG + fprintf(stderr,"[%d] %s Min: %6.2f Max: %6.2f MagFactor: %6.2f, decimals: %d scaledstep: %6.2f -> scaled Min: %6.2f Max %6.2f\n", + getpid(),im->graphfile,im->minval,im->maxval,im->magfact,im->decimals,im->scaledstep,scaled_min,scaled_max); +#endif + im->minval = scaled_min; + im->maxval = scaled_max; } else if(im->extra_flags & ALTAUTOSCALE) { /* measure the amplitude of the function. Make sure that @@ -408,7 +430,7 @@ if (delt < fact) { adj = (fact - delt) * 0.55; #ifdef DEBUG - printf("Min: %6.2f Max: %6.2f delt: %6.2f fact: %6.2f adj: %6.2f\n", im->minval, im->maxval, delt, fact, adj); + fprintf(stderr,"Min: %6.2f Max: %6.2f delt: %6.2f fact: %6.2f adj: %6.2f\n", im->minval, im->maxval, delt, fact, adj); #endif } im->minval -= adj; @@ -1578,9 +1600,12 @@ for(ii=im->gdes[vidx].ds+im->gdes[vidx].ds_cnt; ii < max_ii+im->gdes[vidx].ds_cnt; ii+=im->gdes[vidx].ds_cnt){ - if (! finite(im->gdes[vidx].data[ii])) +#ifdef DEBUG + fprintf(stderr,"[%d] %s value: %6.2f\n",getpid(),im->graphfile,im->gdes[vidx].data[ii]); +#endif + if (! finite(im->gdes[vidx].data[ii])) continue; - if (isnan(printval)){ + if (isnan(printval)){ printval = im->gdes[vidx].data[ii]; validsteps++; continue; @@ -1688,7 +1713,7 @@ char prt_fctn; /*special printfunctions */ int *legspace; - if( !(im->extra_flags & NOLEGEND) ) { + if( !(im->extra_flags & NOLEGEND) & !(im->extra_flags & ONLY_GRAPH) ) { if ((legspace = malloc(im->gdes_c*sizeof(int)))==NULL){ rrd_set_error("malloc for legspace"); return -1; @@ -1697,13 +1722,15 @@ for(i=0;igdes_c;i++){ fill_last = fill; - if (im->gdes[i].gf == GF_HRULE && - (im->gdes[i].yrule < im->minval || im->gdes[i].yrule > im->maxval)) - im->gdes[i].legend[0] = '\0'; - - if (im->gdes[i].gf == GF_VRULE && - (im->gdes[i].xrule < im->start || im->gdes[i].xrule > im->end)) - im->gdes[i].legend[0] = '\0'; + if( !(im->extra_flags & FORCE_RULES_LEGEND) ) { + if (im->gdes[i].gf == GF_HRULE && + (im->gdes[i].yrule < im->minval || im->gdes[i].yrule > im->maxval)) + im->gdes[i].legend[0] = '\0'; + + if (im->gdes[i].gf == GF_VRULE && + (im->gdes[i].xrule < im->start || im->gdes[i].xrule > im->end)) + im->gdes[i].legend[0] = '\0'; + } leg_cc = strlen(im->gdes[i].legend); @@ -1966,10 +1993,8 @@ horizontal_mrtg_grid(gdImagePtr gif, image_desc_t *im) { int i, xLeft, xRight, y; - double scaledstep; char graph_label[100]; int styleMajor[2]; - int decimals; char labfmt[64]; /* does the scale of this graph make it impossible to put lines @@ -1983,21 +2008,25 @@ xLeft = im->xorigin; xRight = im->xorigin + im->xsize; - decimals = ceil(log10(max(fabs(im->maxval),fabs(im->minval)))); - scaledstep = ceil(25 * pow((double)10,-decimals) * im->maxval) * pow((double)10,decimals - 2) / im->magfact; - - sprintf(labfmt,"%%4.%df",1 - (scaledstep > (double)10 || ceil(scaledstep) == scaledstep)); + if (im->scaledstep / im->magfact * max(abs(im->quadrant),abs(4 - im->quadrant)) <= (double)1) + strcpy(labfmt,"%5.2f"); + else + sprintf(labfmt,"%%4.%df",1 - (im->scaledstep / im->magfact > (double)10 || ceil(im->scaledstep / im->magfact) == im->scaledstep /im->magfact)); if (im->symbol != ' ' || im->unit) - strcat(labfmt," "); + strcat(labfmt," "); if (im->symbol != ' ') - sprintf(labfmt + strlen(labfmt),"%c",im->symbol); + sprintf(labfmt + strlen(labfmt),"%c",im->symbol); if (im->unit) - strcat(labfmt,im->unit); + strcat(labfmt,im->unit); for (i = 0; i <= 4; i++) {y = im->yorigin - im->ysize * i / 4; if (y >= im->yorigin-im->ysize && y <= im->yorigin) - {sprintf(graph_label,labfmt,scaledstep * i); + {sprintf(graph_label,labfmt,im->scaledstep / im->magfact * (i - im->quadrant)); +#ifdef DEBUG + fprintf(stderr,"[%d] scaledstep * (i - quadrant): %6.2f format '%s' label: '%s'\n", + getpid(),im->scaledstep * (i - im->quadrant),labfmt,graph_label); +#endif gdImageString(gif,SmallFont,(xLeft - (strlen(graph_label) * SmallFont->w) - 7), y - SmallFont->h / 2 + 1, (unsigned char *)graph_label,graph_col[GRC_FONT].i); @@ -2316,7 +2345,7 @@ (unsigned char *)im->title, graph_col[GRC_FONT].i); /* graph labels */ - if( !(im->extra_flags & NOLEGEND) ) { + if( !(im->extra_flags & NOLEGEND) & !(im->extra_flags & ONLY_GRAPH) ) { for(i=0;igdes_c;i++){ if(im->gdes[i].legend[0] =='\0') continue; @@ -2515,21 +2544,39 @@ on the cmdline is the graph area. But we need more as we have draw labels and other things outside the graph area */ + if( (im->extra_flags & ONLY_GRAPH) ) { + if ( im->ysize > 64 ) { + rrd_set_error("height over 32 pixels with --only-graph option is not available"); + return -1; + } + im->xorigin = 0; + } else { + im->xorigin = 10 + im->unitslength * SmallFont->w; + } - im->xorigin = 10 + im->unitslength * SmallFont->w; xtr(im,0); if(im->ylegend[0] != '\0') im->xorigin += SmallFont->h; - im->yorigin = 14 + im->ysize; + if( (im->extra_flags & ONLY_GRAPH) ) { + im->yorigin = im->ysize; + } else { + im->yorigin = 14 + im->ysize; + } + ytr(im,DNAN); if(im->title[0] != '\0') im->yorigin += (LargeFont->h+4); - im->xgif=20+im->xsize + im->xorigin; - im->ygif= im->yorigin+2*SmallFont->h; + if( (im->extra_flags & ONLY_GRAPH) ) { + im->xgif= im->xsize; + im->ygif= im->yorigin; + } else { + im->xgif=16+im->xsize + im->xorigin; + im->ygif= im->yorigin+2*SmallFont->h; + } /* determine where to place the legends onto the graphics. and set im->ygif to match space requirements for text */ @@ -2571,7 +2618,7 @@ graph elements and then drawing them */ if (im->bkg_image) /* background image added first */ - copyImage(gif,im->bkg_image,1); + copyImage(gif,im->bkg_image,1); else { back[0].x = 0; @@ -2602,7 +2649,8 @@ if (im->maxval < 0.0) areazero = im->maxval; - axis_paint(im,gif); + if( !(im->extra_flags & ONLY_GRAPH) ) + axis_paint(im,gif); for(i=0;igdes_c;i++){ @@ -2686,7 +2734,8 @@ } } - grid_paint(im,gif); + if( !(im->extra_flags & ONLY_GRAPH) ) + grid_paint(im,gif); /* the RULES are the last thing to paint ... */ for(i=0;igdes_c;i++){ @@ -2898,6 +2947,8 @@ {"imgformat", required_argument, 0, 'a'}, {"lazy", no_argument, 0, 'z'}, {"no-legend", no_argument, 0, 'g'}, + {"only-graph", no_argument, 0, 'j'}, + {"force-rules-legend",no_argument,0, 'F'}, {"alt-y-grid", no_argument, 0, 'Y'}, {"no-minor", no_argument, 0, 'N'}, {"alt-autoscale", no_argument, 0, 'A'}, @@ -2915,7 +2966,7 @@ opt = getopt_long(argc, argv, - "s:e:x:y:v:w:h:iu:l:rb:oc:t:f:a:zgYAMXL:S:RB:O:U:", + "s:e:x:y:v:w:h:iu:l:rb:oc:t:f:a:zgjFYAMX:L:S:RB:O:U:", long_options, &option_index); if (opt == EOF) @@ -2934,9 +2985,15 @@ case 'M': im.extra_flags |= ALTAUTOSCALE_MAX; break; + case 'j': + im.extra_flags |= ONLY_GRAPH; + break; case 'g': im.extra_flags |= NOLEGEND; break; + case 'F': + im.extra_flags |= FORCE_RULES_LEGEND; + break; case 'X': im.unitsexponent = atoi(optarg); break; Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_graph.h ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_graph.h (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_graph.h Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 **************************************************************************** * rrd__graph.h ****************************************************************************/ @@ -104,12 +104,6 @@ } graph_desc_t; -#define ALTYGRID 0x01 /* use alternative y grid algorithm */ -#define ALTAUTOSCALE 0x02 /* use alternative algorithm to find lower and upper bounds */ -#define ALTAUTOSCALE_MAX 0x04 /* use alternative algorithm to find upper bounds */ -#define NOLEGEND 0x08 /* use no legend */ - - typedef struct image_desc_t { /* configuration of graph */ @@ -137,11 +131,14 @@ int lazy; /* only update the gif if there is reasonable probablility that the existing one is out of date */ int logarithmic; /* scale the yaxis logarithmic */ + int quadrant; + double scaledstep; + int decimals; enum if_en imgformat; /* image format */ - -char* bkg_image; /* background image source */ -char* ovl_image; /* overlay image source */ -char* unit; /* measured value unit */ + + char* bkg_image; /* background image source */ + char* ovl_image; /* overlay image source */ + char* unit; /* measured value unit */ /* status information */ @@ -149,7 +146,7 @@ long xgif,ygif; /* total size of the gif */ int interlaced; /* will the graph be interlaced? */ double magfact; /* numerical magnitude*/ - long base; /* 1000 or 1024 depending on what we graph */ + long base; /* 1000 or 1024 depending on what we graph */ char symbol; /* magnitude symbol for y-axis */ int unitsexponent; /* 10*exponent for units on y-asis */ int unitslength; /* character length for units on y-asis */ @@ -200,7 +197,7 @@ int rrd_graph(int, char **, char ***, int *, int *); int bad_format(char *); rpnp_t * str2rpn(image_desc_t *,char *); - +int color_allocate(gdImagePtr, int, int, int); #define ALTYGRID 0x01 /* use alternative y grid algorithm */ #define ALTAUTOSCALE 0x02 /* use alternative algorithm to find lower and upper bounds */ @@ -208,7 +205,8 @@ #define NOLEGEND 0x08 /* use no legend */ #define ALTYMRTG 0x10 /* simulate mrtg's scaling */ #define NOMINOR 0x20 /* Turn off minor gridlines */ - +#define FORCE_RULES_LEGEND 0x40 /* force printing of HRULE and VRULE legend */ +#define ONLY_GRAPH 0x80 /* use only graph*/ #endif Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_info.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_info.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_info.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_info Get Information about the configuration of an RRD *****************************************************************************/ Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_last.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_last.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_last.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_last.c ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_open.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_open.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_open.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_open.c Open an RRD File ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_resize.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_resize.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_resize.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_resize.c Alters size of an RRA ***************************************************************************** Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_restore.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_restore.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_restore.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 ***************************************************************************** * rrd_restore.c creates new rrd from data dumped by rrd_dump.c *****************************************************************************/ @@ -280,7 +280,14 @@ if (strcmp("-",file_name)==0){ rrd_file= stdout; } else { - int fd = open(file_name,O_RDWR|O_CREAT|O_EXCL,0666); + int fd = open(file_name, +#ifdef WIN32 + O_RDWR|O_BINARY|O_CREAT|O_EXCL +#else + O_RDWR|O_CREAT|O_EXCL +#endif + ,0666); + if (fd == -1 || (rrd_file = fdopen(fd,"wb")) == NULL) { rrd_set_error("creating '%s': %s",file_name,strerror(errno)); if (fd != -1) Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_tool.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_tool.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_tool.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2001 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2004 ***************************************************************************** * rrd_tool.c Startup wrapper *****************************************************************************/ @@ -20,7 +20,7 @@ { char help_main[] = - "RRDtool 1.0.46 Copyright 1997-2001 by Tobias Oetiker \n\n" + "RRDtool 1.0.49 Copyright 1997-2004 by Tobias Oetiker \n\n" "Usage: rrdtool [options] command command_options\n\n"; char help_list[] = @@ -73,6 +73,8 @@ "\t\t[-u|--upper-limit value] [-z|--lazy]\n" "\t\t[-l|--lower-limit value] [-r|--rigid]\n" "\t\t[-g|--no-legend]\n" + "\t\t[-j|--only-graph]\n" + "\t\t[-F|--force-rules-legend]\n" "\t\t[--alt-autoscale]\n" "\t\t[--alt-autoscale-max]\n" "\t\t[--units-exponent value]\n" @@ -320,7 +322,7 @@ strcmp("v", argv[1]) == 0 || strcmp("-v", argv[1]) == 0 || strcmp("-version", argv[1]) == 0 ) - printf("RRDtool 1.0.46 Copyright (C) 1997-2001 by Tobias Oetiker \n"); + printf("RRDtool 1.0.49 Copyright (C) 1997-2004 by Tobias Oetiker \n"); else if (strcmp("restore", argv[1]) == 0) rrd_restore(argc-1, &argv[1]); else if (strcmp("resize", argv[1]) == 0) @@ -336,14 +338,14 @@ char **ds_namv; if (rrd_fetch(argc-1, &argv[1],&start,&end,&step,&ds_cnt,&ds_namv,&data) != -1) { datai=data; - printf(" "); - for (i = 0; i\n\n" + printf("RRDtool 1.0.49 Copyright 1997-2000 by Tobias Oetiker \n\n" "Usage: rrdupdate filename\n" "\t\t\t[--template|-t ds-name:ds-name:...]\n" "\t\t\ttime|N:value[:value...]\n\n" Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_xport.c ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_xport.c (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_xport.c Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 **************************************************************************** * rrd_xport.c export RRD data ****************************************************************************/ @@ -298,20 +298,23 @@ int i = 0, j = 0; unsigned long *ds_cnt; /* number of data sources in file */ - unsigned long col, dst_row, row_cnt; + unsigned long col, row_cnt; rrd_value_t *srcptr, *dstptr; unsigned long nof_xports = 0; unsigned long xport_counter = 0; unsigned long *ref_list; - rrd_value_t **srcptr_list; char **legend_list; int ii = 0; time_t start_tmp = 0; time_t end_tmp = 0; + time_t curr_ts; unsigned long step_tmp = 1; + int dataIndex; + int dataMemOffset; + /* pull the data from the rrd files ... */ if(data_fetch(im)==-1) return -1; @@ -341,18 +344,10 @@ if(ref_list == NULL) return -1; - /* a list to save pointers into each gdes data */ - srcptr_list = malloc(sizeof(srcptr) * nof_xports); - if(srcptr_list == NULL) { - free(ref_list); - return -1; - } - /* a list to save pointers to the column's legend entry */ /* this is a return value! */ legend_list = malloc(sizeof(char *) * nof_xports); if(legend_list == NULL) { - free(srcptr_list); free(ref_list); return -1; } @@ -365,12 +360,10 @@ ii = im->gdes[i].vidx; if(xport_counter > nof_xports) { rrd_set_error( "too many xports: should not happen. Hmmm"); - free(srcptr_list); free(ref_list); free(legend_list); return -1; } - srcptr_list[xport_counter] = im->gdes[ii].data; ref_list[xport_counter++] = i; break; default: @@ -382,6 +375,23 @@ end_tmp = im->gdes[0].end; step_tmp = im->gdes[0].step; + /* + * Choose the minimum step of all the xports + * Also, use the start and end times from the xport + * with the smallest step. These are the data items + * we will export. If we try to use the largest interval, + * then we won't have data for each row in the xport. + */ + + for(i = 0; i < nof_xports; i++) { + ii = im->gdes[ref_list[i]].vidx; + if (step_tmp > im->gdes[ii].step) { + step_tmp = im->gdes[ii].step; + start_tmp = im->gdes[ii].start; + end_tmp = im->gdes[ii].end; + } + } + *col_cnt = nof_xports; *start = start_tmp; *end = end_tmp; @@ -392,7 +402,6 @@ /* room for rearranged data */ /* this is a return value! */ if (((*data) = malloc((*col_cnt) * row_cnt * sizeof(rrd_value_t)))==NULL){ - free(srcptr_list); free(ref_list); free(legend_list); rrd_set_error("malloc xport data area"); @@ -407,7 +416,6 @@ /* reserve room for one legend entry */ /* is FMT_LEG_LEN + 5 the correct size? */ if ((legend_list[j] = malloc(sizeof(char) * (FMT_LEG_LEN+5)))==NULL) { - free(srcptr_list); free(ref_list); free(legend_list); rrd_set_error("malloc xprint legend entry"); @@ -427,14 +435,24 @@ } /* fill data structure */ - for(dst_row = 0; dst_row < row_cnt; dst_row++) { + for(curr_ts = start_tmp; curr_ts <= end_tmp; curr_ts += step_tmp) { for(i = 0; i < nof_xports; i++) { j = ref_list[i]; ii = im->gdes[j].vidx; ds_cnt = &im->gdes[ii].ds_cnt; - col = *ds_cnt; - srcptr = srcptr_list[i]; + /* + * We need to make sure that each data item from each xport + * appears in the row with the correct time stamp for that item + * Some consolidated data (like Max, Min, Last) will only have + * one data point for each n data points for a variable. + */ + + dataIndex = ceil((double)(curr_ts - im->gdes[ii].start) / im->gdes[ii].step); + dataMemOffset = dataIndex*(*ds_cnt); + + srcptr = im->gdes[ii].data + dataMemOffset; + for(col = 0; col < (*ds_cnt); col++) { rrd_value_t newval = DNAN; newval = srcptr[col]; @@ -447,12 +465,10 @@ } } - srcptr_list[i] += (*ds_cnt); } } *legend_v = legend_list; - free(srcptr_list); free(ref_list); return 0; Modified: trunk/orca/packages/rrdtool-1.0.49/src/rrd_xport.h ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/src/rrd_xport.h (original) +++ trunk/orca/packages/rrdtool-1.0.49/src/rrd_xport.h Sat Aug 21 11:59:00 2004 @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.0.46 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.0.49 Copyright Tobias Oetiker, 1997 - 2000 **************************************************************************** * rrd_xport.h contains XML related constants ****************************************************************************/ Modified: trunk/orca/packages/rrdtool-1.0.49/tcl/Makefile.am ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/tcl/Makefile.am (original) +++ trunk/orca/packages/rrdtool-1.0.49/tcl/Makefile.am Sat Aug 21 11:59:00 2004 @@ -4,7 +4,7 @@ VERSION = @VERSION@ -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ -I$(top_srcdir)/src TCL_PREFIX = @TCL_PREFIX@ TCL_SHLIB_LD = @TCL_SHLIB_LD@ TCL_SHLIB_CFLAGS = @TCL_SHLIB_CFLAGS@ @@ -22,10 +22,10 @@ if COMP_TCL $(TCL_LIB_FILE): tclrrd.o - $(TCL_SHLIB_LD) $(LIBDIRS) $< -o $@ @RRD_PRIVATE_LINK@ -lm $(TCL_LIB_SPEC) + $(TCL_SHLIB_LD) $(LIBDIRS) $< -o $@ @RRD_PRIVATE_LINK@ -lm $(TCL_LIB_SPEC) tclrrd.o: tclrrd.c - $(CC) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(INCLUDES) -c $< -DVERSION=\"$(VERSION)\" + $(CC) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(INCLUDES) $(AM_CPPFLAGS) -c $< -DVERSION=\"$(VERSION)\" all-local: $(TCL_LIB_FILE) Modified: trunk/orca/packages/rrdtool-1.0.49/tcl/Makefile.in ============================================================================== --- trunk/orca/packages/rrdtool-1.0.46/tcl/Makefile.in (original) +++ trunk/orca/packages/rrdtool-1.0.49/tcl/Makefile.in Sat Aug 21 11:59:00 2004 @@ -48,7 +48,7 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ -I$(top_srcdir)/src CGI_LIB_DIR = @CGI_LIB_DIR@ COMP_PERL = @COMP_PERL@ COMP_TCL_FALSE = @COMP_TCL_FALSE@ @@ -320,10 +320,10 @@ @COMP_TCL_TRUE@$(TCL_LIB_FILE): tclrrd.o - at COMP_TCL_TRUE@ $(TCL_SHLIB_LD) $(LIBDIRS) $< -o $@ @RRD_PRIVATE_LINK@ -lm $(TCL_LIB_SPEC) + at COMP_TCL_TRUE@ $(TCL_SHLIB_LD) $(LIBDIRS) $< -o $@ @RRD_PRIVATE_LINK@ -lm $(TCL_LIB_SPEC) @COMP_TCL_TRUE at tclrrd.o: tclrrd.c - at COMP_TCL_TRUE@ $(CC) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(INCLUDES) -c $< -DVERSION=\"$(VERSION)\" + at COMP_TCL_TRUE@ $(CC) $(CFLAGS) $(TCL_SHLIB_CFLAGS) $(INCLUDES) $(AM_CPPFLAGS) -c $< -DVERSION=\"$(VERSION)\" @COMP_TCL_TRUE at all-local: $(TCL_LIB_FILE) From blair at orcaware.com Sat Aug 21 12:12:28 2004 From: blair at orcaware.com (Blair Zajac) Date: Sat, 21 Aug 2004 12:12:28 -0700 Subject: [Orca-checkins] r382 - in trunk/orca: . packages/version-0.41 packages/version-0.42 packages/version-0.42/lib packages/version-0.42/t Message-ID: <200408211912.i7LJCShX014377@gw.orcaware.com> Author: blair Date: Sat Aug 21 12:10:28 2004 New Revision: 382 Added: trunk/orca/packages/version-0.42/ - copied from r381, trunk/orca/packages/version-0.41/ Removed: trunk/orca/packages/version-0.41/ Modified: trunk/orca/INSTALL trunk/orca/configure.in trunk/orca/packages/version-0.42/Changes trunk/orca/packages/version-0.42/META.yml trunk/orca/packages/version-0.42/Makefile.PL trunk/orca/packages/version-0.42/README trunk/orca/packages/version-0.42/lib/version.pm trunk/orca/packages/version-0.42/t/01base.t trunk/orca/packages/version-0.42/util.c trunk/orca/packages/version-0.42/version.xs Log: Upgrade the Perl version module from 0.41 to 0.42 and require the new module for Orca. * configure.in: Bump version's version number to 0.42. * INSTALL (Determine which Perl modules need compiling and installing): Update all references to version's version number from 0.41 to 0.42. * packages/version-0.42: Renamed from packages/version-0.41. Directory contents updated from version-0.42.tar.gz. Modified: trunk/orca/INSTALL ============================================================================== --- trunk/orca/INSTALL (original) +++ trunk/orca/INSTALL Sat Aug 21 12:10:28 2004 @@ -178,7 +178,7 @@ RRDs >= 1.000491 >= 1.0.49 1.0.49 Storable >= 2.13 >= 2.13 2.13 Time::HiRes Not required by Orca 1.59 - version >= 0.41 >= 0.41 0.41 + version >= 0.42 >= 0.42 0.42 All seven of these modules are included with the Orca distribution in the packages directory. When you configure Orca in step 3), @@ -290,10 +290,10 @@ version - http://www.perl.com/CPAN/authors/id/J/JP/JPEACOCK/version-0.41.tar.gz + http://www.perl.com/CPAN/authors/id/J/JP/JPEACOCK/version-0.42.tar.gz - % gunzip -c version-0.41.tar.gz | tar xvf - - % cd version-0.41 + % gunzip -c version-0.42.tar.gz | tar xvf - + % cd version-0.42 % perl Makefile.PL % make % make test Modified: trunk/orca/configure.in ============================================================================== --- trunk/orca/configure.in (original) +++ trunk/orca/configure.in Sat Aug 21 12:10:28 2004 @@ -43,8 +43,8 @@ STORABLE_VER=2.13 TIME_HIRES_DIR=Time-HiRes-1.59 TIME_HIRES_VER=1.59 -VERSION_DIR=version-0.41 -VERSION_VER=0.41 +VERSION_DIR=version-0.42 +VERSION_VER=0.42 AC_SUBST(COMPRESS_ZLIB_DIR) AC_SUBST(DATA_DUMPER_DIR) Modified: trunk/orca/packages/version-0.42/Changes ============================================================================== --- trunk/orca/packages/version-0.41/Changes (original) +++ trunk/orca/packages/version-0.42/Changes Sat Aug 21 12:10:28 2004 @@ -1,4 +1,19 @@ ------------------------------------------------------------------------ +r372 | jpeacock | 2004-08-18 07:04:02 -0400 (Wed, 18 Aug 2004) | 12 lines + +* Makefile.PL + swap () for {} in macro expansion to make Win32 happy again + +* t/01base.t +* lib/version.pm +* README +* version.xs +* util.c + Change default stringification of alpha versions to be more like + their floating point counterparts (since that is normally how they + are used in practice). + +------------------------------------------------------------------------ r319 | jpeacock | 2004-07-12 23:07:10 -0400 (Mon, 12 Jul 2004) | 13 lines * util.c Modified: trunk/orca/packages/version-0.42/META.yml ============================================================================== --- trunk/orca/packages/version-0.41/META.yml (original) +++ trunk/orca/packages/version-0.42/META.yml Sat Aug 21 12:10:28 2004 @@ -1,7 +1,7 @@ # http://module-build.sourceforge.net/META-spec.html #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: version -version: 0.41 +version: 0.42 version_from: lib/version.pm installdirs: site requires: Modified: trunk/orca/packages/version-0.42/Makefile.PL ============================================================================== --- trunk/orca/packages/version-0.41/Makefile.PL (original) +++ trunk/orca/packages/version-0.42/Makefile.PL Sat Aug 21 12:10:28 2004 @@ -12,6 +12,6 @@ # Un-comment this if you add C files to link with later: 'OBJECT' => '$(O_FILES)', # link all the C files too dist => { - PREOP => 'svn log > ${DISTVNAME}/Changes', + PREOP => 'svn log > $(DISTVNAME)/Changes', }, ); Modified: trunk/orca/packages/version-0.42/README ============================================================================== --- trunk/orca/packages/version-0.41/README (original) +++ trunk/orca/packages/version-0.42/README Sat Aug 21 12:10:28 2004 @@ -1,4 +1,4 @@ -version 0.41 +version 0.42 ==================== Provides the same version objects as included in Perl v5.9.0 (and hopefully in Modified: trunk/orca/packages/version-0.42/lib/version.pm ============================================================================== --- trunk/orca/packages/version-0.41/lib/version.pm (original) +++ trunk/orca/packages/version-0.42/lib/version.pm Sat Aug 21 12:10:28 2004 @@ -12,7 +12,7 @@ @EXPORT = qw(qv); -$VERSION = 0.41; # stop using CVS and switch to subversion +$VERSION = 0.42; # stop using CVS and switch to subversion $CLASS = 'version'; Modified: trunk/orca/packages/version-0.42/t/01base.t ============================================================================== --- trunk/orca/packages/version-0.41/t/01base.t (original) +++ trunk/orca/packages/version-0.42/t/01base.t Sat Aug 21 12:10:28 2004 @@ -48,7 +48,7 @@ # Test quoted number processing diag "tests with quoted numbers" unless $ENV{PERL_CORE}; $version = $CLASS->new("5.005_03"); - is ( "$version" , "5.5_30" , '"5.005_03" eq "5.5_30"' ); + is ( "$version" , "5.005_030" , '"5.005_03" eq "5.005_030"' ); $version = $CLASS->new("v1.23"); is ( "$version" , "1.23.0" , '"v1.23" eq "1.23.0"' ); Modified: trunk/orca/packages/version-0.42/util.c ============================================================================== --- trunk/orca/packages/version-0.41/util.c (original) +++ trunk/orca/packages/version-0.42/util.c Sat Aug 21 12:10:28 2004 @@ -31,6 +31,7 @@ bool saw_under = 0; SV* sv = newSVrv(rv, "version"); /* create an SV and upgrade the RV */ (void)sv_upgrade(sv, SVt_PVAV); /* needs to be an AV type */ + AvREAL_on((AV*)sv); /* pre-scan the imput string to check for decimals */ while ( *pos == '.' || *pos == '_' || isDIGIT(*pos) ) @@ -117,7 +118,15 @@ } if ( qv ) { /* quoted versions always become full version objects */ I32 len = av_len((AV *)sv); - for ( len = 2 - len; len > 0; len-- ) + /* This for loop appears to trigger a compiler bug on OS X, as it + loops infinitely. Yes, len is negative. No, it makes no sense. + Compiler in question is: + gcc version 3.3 20030304 (Apple Computer, Inc. build 1640) + for ( len = 2 - len; len > 0; len-- ) + av_push((AV *)sv, newSViv(0)); + */ + len = 2 - len; + while (len-- > 0) av_push((AV *)sv, newSViv(0)); } return s; @@ -146,6 +155,7 @@ AV *av = (AV *)SvRV(ver); SV* sv = newSVrv(rv, "version"); /* create an SV and upgrade the RV */ (void)sv_upgrade(sv, SVt_PVAV); /* needs to be an AV type */ + AvREAL_on((AV*)sv); for ( key = 0; key <= av_len(av); key++ ) { I32 rev = SvIV(*av_fetch(av, key, FALSE)); @@ -247,11 +257,14 @@ digit = SvIVX(*av_fetch((AV *)vs, i, 0)); Perl_sv_catpvf(aTHX_ sv,"%03d", (int)PERL_ABS(digit)); } + if ( len > 0 ) { digit = SvIVX(*av_fetch((AV *)vs, len, 0)); if ( (int)PERL_ABS(digit) != 0 || len == 1 ) { + if ( digit < 0 ) /* alpha version */ + Perl_sv_catpv(aTHX_ sv,"_"); /* Don't display additional trailing zeros */ Perl_sv_catpvf(aTHX_ sv,"%03d", (int)PERL_ABS(digit)); } @@ -323,12 +336,13 @@ SV * Perl_vstringify(pTHX_ SV *vs) { - I32 i, len, digit; + I32 len, digit; if ( SvROK(vs) ) vs = SvRV(vs); len = av_len((AV *)vs); + digit = SvIVX(*av_fetch((AV *)vs, len, 0)); - if ( len < 2 ) + if ( len < 2 || ( len == 2 && digit < 0 ) ) return vnumify(vs); else return vnormal(vs); Modified: trunk/orca/packages/version-0.42/version.xs ============================================================================== --- trunk/orca/packages/version-0.41/version.xs (original) +++ trunk/orca/packages/version-0.42/version.xs Sat Aug 21 12:10:28 2004 @@ -26,7 +26,7 @@ newXS("version::(nomethod", XS_version_noop, file); newXS("UNIVERSAL::VERSION", XS_version_VERSION, file); -version +void new(class,...) char *class PPCODE: @@ -69,7 +69,6 @@ PPCODE: { SV *rs; - SV *rvs; SV * robj = ST(1); IV swap = (IV)SvIV(ST(2)); From blair at orcaware.com Sat Aug 21 12:27:06 2004 From: blair at orcaware.com (Blair Zajac) Date: Sat, 21 Aug 2004 12:27:06 -0700 Subject: [Orca-checkins] r383 - in trunk/orca: . packages/Time-HiRes-1.59 packages/Time-HiRes-1.61 packages/Time-HiRes-1.61/hints packages/Time-HiRes-1.61/t Message-ID: <200408211927.i7LJR6K5027383@gw.orcaware.com> Author: blair Date: Sat Aug 21 12:25:13 2004 New Revision: 383 Added: trunk/orca/packages/Time-HiRes-1.61/ - copied from r382, trunk/orca/packages/Time-HiRes-1.59/ Removed: trunk/orca/packages/Time-HiRes-1.59/ Modified: trunk/orca/INSTALL trunk/orca/configure.in trunk/orca/packages/Time-HiRes-1.61/Changes trunk/orca/packages/Time-HiRes-1.61/HiRes.pm trunk/orca/packages/Time-HiRes-1.61/HiRes.xs trunk/orca/packages/Time-HiRes-1.61/META.yml trunk/orca/packages/Time-HiRes-1.61/Makefile.PL trunk/orca/packages/Time-HiRes-1.61/hints/solaris.pl trunk/orca/packages/Time-HiRes-1.61/t/HiRes.t Log: Upgrade Time::HiRes from 1.59 to 1.61. * INSTALL (Determine which Perl modules need compiling and installing): Update all references to Time::HiRes's version number from 1.59 to 1.61. * configure.in: Bump Time::HiRes's version number to 1.61. * packages/Time-HiRes-1.61: Renamed from packages/Time-HiRes-1.59. Directory contents updated from Time-HiRes-1.61.tar.gz. Modified: trunk/orca/INSTALL ============================================================================== --- trunk/orca/INSTALL (original) +++ trunk/orca/INSTALL Sat Aug 21 12:25:13 2004 @@ -177,7 +177,7 @@ Math::IntervalSearch >= 1.05 >= 1.05 1.05 RRDs >= 1.000491 >= 1.0.49 1.0.49 Storable >= 2.13 >= 2.13 2.13 - Time::HiRes Not required by Orca 1.59 + Time::HiRes Not required by Orca 1.61 version >= 0.42 >= 0.42 0.42 All seven of these modules are included with the Orca distribution @@ -279,10 +279,10 @@ Time::HiRes - http://www.perl.com/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.59.tar.gz + http://www.perl.com/CPAN/authors/id/J/JH/JHI/Time-HiRes-1.61.tar.gz - % gunzip -c Time-HiRes-1.59.tar.gz | tar xvf - - % cd Time-HiRes-1.59 + % gunzip -c Time-HiRes-1.61.tar.gz | tar xvf - + % cd Time-HiRes-1.61 % perl Makefile.PL % make % make test Modified: trunk/orca/configure.in ============================================================================== --- trunk/orca/configure.in (original) +++ trunk/orca/configure.in Sat Aug 21 12:25:13 2004 @@ -41,8 +41,8 @@ RRDTOOL_VER=1.000491 STORABLE_DIR=Storable-2.13 STORABLE_VER=2.13 -TIME_HIRES_DIR=Time-HiRes-1.59 -TIME_HIRES_VER=1.59 +TIME_HIRES_DIR=Time-HiRes-1.61 +TIME_HIRES_VER=1.61 VERSION_DIR=version-0.42 VERSION_VER=0.42 Modified: trunk/orca/packages/Time-HiRes-1.61/Changes ============================================================================== --- trunk/orca/packages/Time-HiRes-1.59/Changes (original) +++ trunk/orca/packages/Time-HiRes-1.61/Changes Sat Aug 21 12:25:13 2004 @@ -1,5 +1,24 @@ Revision history for Perl extension Time::HiRes. +1.61 + - Win32: reset reading from the performance counters every + five minutes to better track wall clock time (thanks to + PC timers being often quite bad), should help long-running + programs. + +1.60 + - Win32: Patch from Steve Hay + [PATCH] Re: [perl #30755] [Win32] Different results from Time::HiRes::gettimeofdayunder the debugger + to [perl #30755] reported by Nigel Sandever + + - Cygwin: Use the Win32 recalibration code also in Cygwin if the + APIs are available. Cygwin testing by + Yitzchak Scott-Thoennes. + + - Solaris: use -lposix4 to get nanosleep for Solaris 2.6, + after that keep using -lrt, patch from Alan Burlison, + bug reported in [cpan #7165] + 1.59 - Change the Win32 recalibration limit to 0.5 seconds and tweak the documentation to blather less about the gory details of the @@ -21,7 +40,7 @@ perl change #22258) 1.55 - - Windows: ming32 patch from Mike Pomraning (use Perl's Const64() + - Windows: mingw32 patch from Mike Pomraning (use Perl's Const64() instead of VC-specific i64 suffix) 1.54 Modified: trunk/orca/packages/Time-HiRes-1.61/HiRes.pm ============================================================================== --- trunk/orca/packages/Time-HiRes-1.59/HiRes.pm (original) +++ trunk/orca/packages/Time-HiRes-1.61/HiRes.pm Sat Aug 21 12:25:13 2004 @@ -15,7 +15,7 @@ d_usleep d_ualarm d_gettimeofday d_getitimer d_setitimer d_nanosleep); -$VERSION = '1.59'; +$VERSION = '1.61'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -83,31 +83,34 @@ =head1 DESCRIPTION -The C module implements a Perl interface to the C, -C, C, and C/C system calls, in other -words, high resolution time and timers. See the L section below -and the test scripts for usage; see your system documentation for the -description of the underlying C or C, C, -C, and C/C calls. +The C module implements a Perl interface to the +C, C, C, and C/C +system calls, in other words, high resolution time and timers. See the +L section below and the test scripts for usage; see your +system documentation for the description of the underlying +C or C, C, C, and +C/C calls. If your system lacks C or an emulation of it you don't -get C or the one-argument form of C. If your system lacks all of -C, C, and C, you don't get -C or C. If your system lacks both -C and C you don't get -C or C. +get C or the one-argument form of C. +If your system lacks all of C, C, and +C, you don't get C or +C. If your system lacks both C and +C you don't get C or +C. If you try to import an unimplemented function in the C statement it will fail at compile time. -If your subsecond sleeping is implemented with C instead of -C, you can mix subsecond sleeping with signals since -C does not use signals. This, however is unportable, and you -should first check for the truth value of C<&Time::HiRes::d_nanosleep> to -see whether you have nanosleep, and then carefully read your -C C API documentation for any peculiarities. (There is no -separate interface to call C; just use C -or C with small enough values.) +If your subsecond sleeping is implemented with C instead +of C, you can mix subsecond sleeping with signals since +C does not use signals. This, however is unportable, and +you should first check for the truth value of +C<&Time::HiRes::d_nanosleep> to see whether you have nanosleep, and +then carefully read your C C API documentation for any +peculiarities. (There is no separate interface to call +C; just use C or +C with small enough values.) Unless using C for mixing sleeping with signals, give some thought to whether Perl is the tool you should be using for work @@ -159,15 +162,15 @@ the C seconds since epoch rolled over to 1_000_000_000, the default floating point format of Perl and the seconds since epoch have conspired to produce an apparent bug: if you print the value of -C you seem to be getting only five decimals, not six -as promised (microseconds). Not to worry, the microseconds are there -(assuming your platform supports such granularity in first place). -What is going on is that the default floating point format of Perl -only outputs 15 digits. In this case that means ten digits before the -decimal separator and five after. To see the microseconds you can use -either C/C with C<"%.6f">, or the C function in -list context, which will give you the seconds and microseconds as two -separate values. +C you seem to be getting only five decimals, not +six as promised (microseconds). Not to worry, the microseconds are +there (assuming your platform supports such granularity in first +place). What is going on is that the default floating point format of +Perl only outputs 15 digits. In this case that means ten digits +before the decimal separator and five after. To see the microseconds +you can use either C/C with C<"%.6f">, or the +C function in list context, which will give you the +seconds and microseconds as two separate values. =item sleep ( $floating_seconds ) @@ -206,21 +209,22 @@ In list context, both the remaining time and the interval are returned. -There are usually three or four interval timers available: the C<$which> -can be C, C, C, or C. -Note that which ones are available depends: true UNIX platforms usually -have the first three, but (for example) Win32 and Cygwin have only -C, and only Solaris seems to have C (which is -used to profile multithreaded programs). +There are usually three or four interval timers available: the +C<$which> can be C, C, C, or +C. Note that which ones are available depends: true +UNIX platforms usually have the first three, but (for example) Win32 +and Cygwin have only C, and only Solaris seems to have +C (which is used to profile multithreaded programs). C results in C-like behavior. Time is counted in I; that is, wallclock time. C is delivered when the timer expires. -C counts time in (process) I; that is, only -when the process is running. In multiprocessor/user/CPU systems this -may be more or less than real or wallclock time. (This time is also -known as the I.) C is delivered when the timer expires. +C counts time in (process) I; that is, +only when the process is running. In multiprocessor/user/CPU systems +this may be more or less than real or wallclock time. (This time is +also known as the I.) C is delivered when the +timer expires. C counts time when either the process virtual time or when the operating system is running on behalf of the process (such as I/O). Modified: trunk/orca/packages/Time-HiRes-1.61/HiRes.xs ============================================================================== --- trunk/orca/packages/Time-HiRes-1.59/HiRes.xs (original) +++ trunk/orca/packages/Time-HiRes-1.61/HiRes.xs Sat Aug 21 12:25:13 2004 @@ -5,10 +5,14 @@ #include "EXTERN.h" #include "perl.h" #include "XSUB.h" +#if defined(__CYGWIN__) && defined(HAS_W32API_WINDOWS_H) +# include +# define CYGWIN_WITH_W32API +#endif #ifdef WIN32 -#include +# include #else -#include +# include #endif #ifdef HAS_SELECT # ifdef I_SYS_SELECT @@ -117,7 +121,7 @@ #endif /* Though the cpp define ITIMER_VIRTUAL is available the functionality - * is not supported in Cygwin as of August 2002, ditto for Win32. + * is not supported in Cygwin as of August 2004, ditto for Win32. * Neither are ITIMER_PROF or ITIMER_REALPROF implemented. --jhi */ #if defined(__CYGWIN__) || defined(WIN32) @@ -128,14 +132,14 @@ /* 5.004 doesn't define PL_sv_undef */ #ifndef ATLEASTFIVEOHOHFIVE -#ifndef PL_sv_undef -#define PL_sv_undef sv_undef -#endif +# ifndef PL_sv_undef +# define PL_sv_undef sv_undef +# endif #endif #include "const-c.inc" -#ifdef WIN32 +#if defined(WIN32) || defined(CYGWIN_WITH_W32API) #ifndef HAS_GETTIMEOFDAY # define HAS_GETTIMEOFDAY @@ -160,15 +164,16 @@ unsigned __int64 base_ticks; unsigned __int64 tick_frequency; FT_t base_systime_as_filetime; + unsigned __int64 reset_time; } my_cxt_t; START_MY_CXT /* Number of 100 nanosecond units from 1/1/1601 to 1/1/1970 */ #ifdef __GNUC__ -#define Const64(x) x##LL +# define Const64(x) x##LL #else -#define Const64(x) x##i64 +# define Const64(x) x##i64 #endif #define EPOCH_BIAS Const64(116444736000000000) @@ -184,8 +189,11 @@ /* If the performance counter delta drifts more than 0.5 seconds from the * system time then we recalibrate to the system time. This means we may * move *backwards* in time! */ +#define MAX_PERF_COUNTER_SKEW Const64(5000000) /* 0.5 seconds */ -#define MAX_DIFF Const64(5000000) +/* Reset reading from the performance counter every five minutes. + * Many PC clocks just seem to be so bad. */ +#define MAX_PERF_COUNTER_TICKS Const64(300000000) /* 300 seconds */ static int _gettimeofday(pTHX_ struct timeval *tp, void *not_used) @@ -195,27 +203,28 @@ unsigned __int64 ticks; FT_t ft; - if (MY_CXT.run_count++) { + if (MY_CXT.run_count++ == 0 || + MY_CXT.base_systime_as_filetime.ft_i64 > MY_CXT.reset_time) { + QueryPerformanceFrequency((LARGE_INTEGER*)&MY_CXT.tick_frequency); + QueryPerformanceCounter((LARGE_INTEGER*)&MY_CXT.base_ticks); + GetSystemTimeAsFileTime(&MY_CXT.base_systime_as_filetime.ft_val); + ft.ft_i64 = MY_CXT.base_systime_as_filetime.ft_i64; + MY_CXT.reset_time = ft.ft_i64 + MAX_PERF_COUNTER_TICKS; + } + else { __int64 diff; - FT_t filtim; - GetSystemTimeAsFileTime(&filtim.ft_val); QueryPerformanceCounter((LARGE_INTEGER*)&ticks); ticks -= MY_CXT.base_ticks; ft.ft_i64 = MY_CXT.base_systime_as_filetime.ft_i64 + Const64(10000000) * (ticks / MY_CXT.tick_frequency) +(Const64(10000000) * (ticks % MY_CXT.tick_frequency)) / MY_CXT.tick_frequency; diff = ft.ft_i64 - MY_CXT.base_systime_as_filetime.ft_i64; - if (diff < -MAX_DIFF || diff > MAX_DIFF) { - MY_CXT.base_ticks = ticks; - ft.ft_i64 = filtim.ft_i64; + if (diff < -MAX_PERF_COUNTER_SKEW || diff > MAX_PERF_COUNTER_SKEW) { + MY_CXT.base_ticks += ticks; + GetSystemTimeAsFileTime(&MY_CXT.base_systime_as_filetime.ft_val); + ft.ft_i64 = MY_CXT.base_systime_as_filetime.ft_i64; } } - else { - QueryPerformanceFrequency((LARGE_INTEGER*)&MY_CXT.tick_frequency); - QueryPerformanceCounter((LARGE_INTEGER*)&MY_CXT.base_ticks); - GetSystemTimeAsFileTime(&MY_CXT.base_systime_as_filetime.ft_val); - ft.ft_i64 = MY_CXT.base_systime_as_filetime.ft_i64; - } /* seconds since epoch */ tp->tv_sec = (long)((ft.ft_i64 - EPOCH_BIAS) / Const64(10000000)); @@ -702,7 +711,7 @@ myNVtime() { #ifdef WIN32 - dTHX; + dTHX; #endif struct timeval Tp; int status; Modified: trunk/orca/packages/Time-HiRes-1.61/META.yml ============================================================================== --- trunk/orca/packages/Time-HiRes-1.59/META.yml (original) +++ trunk/orca/packages/Time-HiRes-1.61/META.yml Sat Aug 21 12:25:13 2004 @@ -1,7 +1,7 @@ # http://module-build.sourceforge.net/META-spec.html #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: Time-HiRes -version: 1.59 +version: 1.61 version_from: HiRes.pm installdirs: perl requires: Modified: trunk/orca/packages/Time-HiRes-1.61/Makefile.PL ============================================================================== --- trunk/orca/packages/Time-HiRes-1.59/Makefile.PL (original) +++ trunk/orca/packages/Time-HiRes-1.61/Makefile.PL Sat Aug 21 12:25:13 2004 @@ -1,8 +1,3 @@ - -# See lib/ExtUtils/MakeMaker.pm for details of how to influence -# the contents of the Makefile that is written. -# - require 5.002; use Config; @@ -16,7 +11,8 @@ use vars qw($self); # Used in 'sourcing' the hints. -my $ld_exeext = ($^O eq 'os2' and $Config{ldflags} =~ /-Zexe\b/) ? '.exe' : ''; +my $ld_exeext = ($^O eq 'cygwin' || + $^O eq 'os2' && $Config{ldflags} =~ /-Zexe\b/) ? '.exe' : ''; unless($ENV{PERL_CORE}) { $ENV{PERL_CORE} = 1 if grep { $_ eq 'PERL_CORE=1' } @ARGV; @@ -206,6 +202,23 @@ return 0; } +sub has_include { + my ($inc) = @_; + return 1 if + try_compile_and_link(< +int main _((int argc, char** argv, char** env)) +{ + return 0; +} +EOM + return 0; +} + sub init { my $hints = File::Spec->catfile("hints", "$^O.pl"); if (-f $hints) { @@ -276,7 +289,7 @@ } if ($has_setitimer && $has_getitimer) { - print "You have interval timers (both setitimer and setitimer).\n"; + print "You have interval timers (both setitimer and getitimer).\n"; } else { print "You do not have interval timers.\n"; } @@ -338,11 +351,27 @@ if ($has_nanosleep) { print "found.\n"; - print "You can mix subsecond sleeps with signals.\n"; + print "You can mix subsecond sleeps with signals, if you want to.\n"; + print "(It's still not portable, though.)\n"; } else { print "NOT found.\n"; my $nt = ($^O eq 'os2' ? '' : 'not'); print "You can$nt mix subsecond sleeps with signals.\n"; + print "(It would not be portable anyway.)\n"; + } + + my $has_w32api_windows_h; + if ($^O eq 'cygwin') { + print "Looking for ... "; + if (has_include('w32api/windows.h')) { + $has_w32api_windows_h++; + $DEFINE .= ' -DHAS_W32API_WINDOWS_H'; + } + if ($has_w32api_windows_h) { + print "found.\n"; + } else { + print "NOT found.\n"; + } } if ($DEFINE) { Modified: trunk/orca/packages/Time-HiRes-1.61/hints/solaris.pl ============================================================================== --- trunk/orca/packages/Time-HiRes-1.59/hints/solaris.pl (original) +++ trunk/orca/packages/Time-HiRes-1.61/hints/solaris.pl Sat Aug 21 12:25:13 2004 @@ -1,3 +1,9 @@ -# needs to explicitly link against librt to pull in nanosleep -$self->{LIBS} = ['-lrt']; +use POSIX qw(uname); +# 2.6 has nanosleep in -lposix4, after that it's in -lrt +if (substr((uname())[2], 2) <= 6) { + $self->{LIBS} = ['-lposix4']; +} else { + $self->{LIBS} = ['-lrt']; +} + Modified: trunk/orca/packages/Time-HiRes-1.61/t/HiRes.t ============================================================================== --- trunk/orca/packages/Time-HiRes-1.59/t/HiRes.t (original) +++ trunk/orca/packages/Time-HiRes-1.61/t/HiRes.t Sat Aug 21 12:25:13 2004 @@ -286,7 +286,8 @@ print "# setitimer: ", join(" ", setitimer(ITIMER_VIRTUAL, 0.5, 0.4)), "\n"; # Assume interval timer granularity of $limit * 0.5 seconds. Too bold? - print "not " unless abs(getitimer(ITIMER_VIRTUAL) / 0.5) - 1 < $limit; + my $virt = getitimer(ITIMER_VIRTUAL); + print "not " unless defined $virt && abs($virt / 0.5) - 1 < $limit; print "ok 18\n"; print "# getitimer: ", join(" ", getitimer(ITIMER_VIRTUAL)), "\n"; @@ -298,7 +299,8 @@ print "# getitimer: ", join(" ", getitimer(ITIMER_VIRTUAL)), "\n"; - print "not " unless getitimer(ITIMER_VIRTUAL) == 0; + $virt = getitimer(ITIMER_VIRTUAL); + print "not " unless defined $virt && $virt == 0; print "ok 19\n"; $SIG{VTALRM} = 'DEFAULT'; From blair at orcaware.com Sat Aug 21 13:32:18 2004 From: blair at orcaware.com (Blair Zajac) Date: Sat, 21 Aug 2004 13:32:18 -0700 Subject: [Orca-checkins] r384 - trunk/orca/config Message-ID: <200408212032.i7LKWIo4028600@gw.orcaware.com> Author: blair Date: Sat Aug 21 13:30:27 2004 New Revision: 384 Modified: trunk/orca/config/config.guess trunk/orca/config/config.sub Log: * config/config.guess: Update to version 2004-06-11 from ftp://ftp.gnu.org/pub/config/. * config/config.sub: Update to version 2004-03-12 from ftp://ftp.gnu.org/pub/config/. Modified: trunk/orca/config/config.guess ============================================================================== --- trunk/orca/config/config.guess (original) +++ trunk/orca/config/config.guess Sat Aug 21 13:30:27 2004 @@ -1,9 +1,9 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2002-10-21' +timestamp='2004-06-11' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -98,14 +98,18 @@ # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. -# This shell variable is my proudest work .. or something. --bje +# Portable tmp directory creation inspired by the Autoconf team. -set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; -(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) - || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; -dummy=$tmpdir/dummy ; -files="$dummy.c $dummy.o $dummy.rel $dummy" ; -trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do @@ -113,15 +117,13 @@ CC_FOR_BUILD="$c"; break ; fi ; done ; - rm -f $files ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; -unset files' +esac ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi at noc.rutgers.edu 1994-08-24) @@ -178,21 +180,41 @@ ;; esac # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + luna88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; @@ -223,71 +245,70 @@ *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - eval $set_cc_for_build - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - $CC_FOR_BUILD -o $dummy $dummy.s 2>/dev/null - if test "$?" = 0 ; then - case `$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - 2-1307) - UNAME_MACHINE="alphaev68" - ;; - 3-1307) - UNAME_MACHINE="alphaev7" - ;; - esac - fi - rm -f $dummy.s $dummy && rmdir $tmpdir - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha*:OpenVMS:*:*) + echo alpha-hp-vms exit 0 ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? @@ -310,6 +331,9 @@ *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; @@ -327,6 +351,9 @@ NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; DRS?6000:UNIX_SV:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7 && exit 0 ;; @@ -399,6 +426,9 @@ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; @@ -439,8 +469,7 @@ EOF $CC_FOR_BUILD -o $dummy $dummy.c \ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + && exit 0 echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) @@ -449,7 +478,7 @@ Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit 0 ;; - Night_Hawk:*:*:PowerMAX_OS) + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) @@ -524,8 +553,7 @@ exit(0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 @@ -624,10 +652,20 @@ } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy && rmdir $tmpdir + test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) @@ -661,8 +699,7 @@ exit (0); } EOF - $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 - rm -f $dummy.c $dummy && rmdir $tmpdir + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) @@ -720,21 +757,26 @@ CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; + *:UNICOS/mp:*:*) + echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; @@ -756,8 +798,10 @@ #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + # GNU/KFreeBSD systems have a "k" prefix to indicate we are using + # FreeBSD's kernel, but not the complete OS. + case ${LIBC} in gnu) kernel_only='k' ;; esac + echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -768,14 +812,17 @@ i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; - x86:Interix*:3*) - echo i386-pc-interix3 + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks exit 0 ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix + echo i586-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin @@ -787,17 +834,28 @@ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) + # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -818,8 +876,26 @@ #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - rm -f $dummy.c && rmdir $tmpdir - test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu @@ -855,6 +931,9 @@ s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; @@ -912,9 +991,11 @@ LIBC=gnuaout #endif #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` - rm -f $dummy.c && rmdir $tmpdir test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; @@ -932,6 +1013,26 @@ # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then @@ -966,9 +1067,6 @@ echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about @@ -995,9 +1093,12 @@ mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit 0 ;; - M68*:*:R3V[567]*:*) + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; + M68*:*:R3V[5678]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` @@ -1014,9 +1115,6 @@ mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; @@ -1098,7 +1196,11 @@ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} + case `uname -p` in + *86) UNAME_PROCESSOR=i686 ;; + powerpc) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` @@ -1111,7 +1213,7 @@ *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; - NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*) + NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) @@ -1134,11 +1236,6 @@ fi echo ${UNAME_MACHINE}-unknown-plan9 exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; @@ -1157,11 +1254,11 @@ *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} exit 0 ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; esac @@ -1283,8 +1380,7 @@ } EOF -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 -rm -f $dummy.c $dummy && rmdir $tmpdir +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 # Apollos put the system type in the environment. Modified: trunk/orca/config/config.sub ============================================================================== --- trunk/orca/config/config.sub (original) +++ trunk/orca/config/config.sub Sat Aug 21 13:30:27 2004 @@ -1,9 +1,9 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2002-09-05' +timestamp='2004-03-12' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -118,7 +118,8 @@ # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -228,14 +229,15 @@ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ - | clipper \ + | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ - | ip2k \ - | m32r | m68000 | m68k | m88k | mcore \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -245,21 +247,24 @@ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | msp430 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ - | tahoe | thumb | tic80 | tron \ + | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xstormy16 | xtensa \ @@ -294,7 +299,7 @@ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ @@ -302,8 +307,8 @@ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* \ - | m32r-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ @@ -315,21 +320,26 @@ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39 | mipstx39el \ - | none-* | np1-* | ns16k-* | ns32k-* \ + | mipstx39-* | mipstx39el-* \ + | msp430-* \ + | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ @@ -353,6 +363,9 @@ basic_machine=a29k-amd os=-udi ;; + abacus) + basic_machine=abacus-unknown + ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -367,6 +380,12 @@ basic_machine=a29k-none os=-bsd ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; amdahl) basic_machine=580-amdahl os=-sysv @@ -426,12 +445,20 @@ basic_machine=j90-cray os=-unicos ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -716,6 +743,10 @@ np1) basic_machine=np1-gould ;; + nv1) + basic_machine=nv1-cray + os=-unicosmp + ;; nsr-tandem) basic_machine=nsr-tandem ;; @@ -727,6 +758,10 @@ basic_machine=or32-unknown os=-coff ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose @@ -758,18 +793,24 @@ pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; - pentiumii | pentium2) + pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; + pentium4) + basic_machine=i786-pc + ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumii-* | pentium2-*) + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pn) basic_machine=pn-gould ;; @@ -828,6 +869,10 @@ sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; sequent) basic_machine=i386-sequent ;; @@ -835,6 +880,9 @@ basic_machine=sh-hitachi os=-hms ;; + sh64) + basic_machine=sh64-unknown + ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks @@ -901,10 +949,6 @@ basic_machine=i386-sequent os=-dynix ;; - t3d) - basic_machine=alpha-cray - os=-unicos - ;; t3e) basic_machine=alphaev5-cray os=-unicos @@ -913,14 +957,18 @@ basic_machine=t90-cray os=-unicos ;; - tic4x | c4x*) - basic_machine=tic4x-unknown - os=-coff - ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -934,6 +982,10 @@ tower | tower-32) basic_machine=m68k-ncr ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; udi29k) basic_machine=a29k-amd os=-udi @@ -977,10 +1029,6 @@ basic_machine=hppa1.1-winbond os=-proelf ;; - windows32) - basic_machine=i386-pc - os=-windows32-msvcrt - ;; xps | xps100) basic_machine=xps100-honeywell ;; @@ -1027,13 +1075,13 @@ we32k) basic_machine=we32k-att ;; - sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele) + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) basic_machine=sh64-unknown ;; - sparc | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) @@ -1106,18 +1154,20 @@ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*) + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1129,8 +1179,10 @@ ;; esac ;; + -nto-qnx*) + ;; -nto*) - os=-nto-qnx + os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ @@ -1139,6 +1191,9 @@ -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -1151,6 +1206,9 @@ -opened*) os=-openedition ;; + -os400*) + os=-os400 + ;; -wince*) os=-wince ;; @@ -1172,6 +1230,9 @@ -atheos*) os=-atheos ;; + -syllable*) + os=-syllable + ;; -386bsd) os=-bsd ;; @@ -1194,6 +1255,9 @@ -sinix*) os=-sysv4 ;; + -tpf*) + os=-tpf + ;; -triton*) os=-sysv3 ;; @@ -1224,6 +1288,12 @@ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; -none) ;; *) @@ -1255,6 +1325,9 @@ arm*-semi) os=-aout ;; + c4x-* | tic4x-*) + os=-coff + ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 @@ -1433,9 +1506,15 @@ -mvs* | -opened*) vendor=ibm ;; + -os400*) + vendor=ibm + ;; -ptx*) vendor=sequent ;; + -tpf*) + vendor=ibm + ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; From blair at orcaware.com Thu Aug 26 21:57:43 2004 From: blair at orcaware.com (Blair Zajac) Date: Thu, 26 Aug 2004 21:57:43 -0700 Subject: [Orca-checkins] r385 - in trunk/orca/data_gatherers: aix hp orca_services orcallator procallator winallator Message-ID: <200408270457.i7R4vhH1015080@gw.orcaware.com> Author: blair Date: Thu Aug 26 21:55:44 2004 New Revision: 385 Modified: trunk/orca/data_gatherers/aix/Makefile.in trunk/orca/data_gatherers/hp/Makefile.in trunk/orca/data_gatherers/orca_services/Makefile.in trunk/orca/data_gatherers/orcallator/Makefile.in trunk/orca/data_gatherers/procallator/Makefile.in trunk/orca/data_gatherers/winallator/Makefile.in Log: * data_gatherers/aix/Makefile.in (install), * data_gatherers/hp/Makefile.in (install), * data_gatherers/orcallator/Makefile.in (install) * data_gatherers/orca_services/Makefile.in (install), * data_gatherers/procallator/Makefile.in (install), * data_gatherers/winallator/Makefile.in (install): When testing if BIN_TARGETS or LIBEXEC_TARGETS are empty, when the variable should be empty because the both BIN_PERL_SCRIPTS and BIN_SHELL_SCRIPTS or LIBEXEC_PERL_SCRIPTS and LIBEXEC_SHELL_SCRIPTS are empty, then BIN_TARGETS or LIBEXEC_TARGETS will not be empty because they are set by the concatenation of two variables on two lines continued with a \. The work around is to pass BIN_TARGETS or LIBEXEC_TARGETS to echo which will not print whitespace and test echo's output, which will be empty. Modified: trunk/orca/data_gatherers/aix/Makefile.in ============================================================================== --- trunk/orca/data_gatherers/aix/Makefile.in (original) +++ trunk/orca/data_gatherers/aix/Makefile.in Thu Aug 26 21:55:44 2004 @@ -35,7 +35,7 @@ install: all $(MKDIR) $(bindir) - @if test "$(BIN_TARGETS)"; then \ + @if test "`echo $(BIN_TARGETS)`"; then \ for file in $(BIN_TARGETS); do \ echo $(INSTALL) $$file $(bindir); \ $(INSTALL) $$file $(bindir); \ Modified: trunk/orca/data_gatherers/hp/Makefile.in ============================================================================== --- trunk/orca/data_gatherers/hp/Makefile.in (original) +++ trunk/orca/data_gatherers/hp/Makefile.in Thu Aug 26 21:55:44 2004 @@ -35,7 +35,7 @@ install: all $(MKDIR) $(bindir) - @if test "$(BIN_TARGETS)"; then \ + @if test "`echo $(BIN_TARGETS)`"; then \ for file in $(BIN_TARGETS); do \ echo $(INSTALL) $$file $(bindir); \ $(INSTALL) $$file $(bindir); \ Modified: trunk/orca/data_gatherers/orca_services/Makefile.in ============================================================================== --- trunk/orca/data_gatherers/orca_services/Makefile.in (original) +++ trunk/orca/data_gatherers/orca_services/Makefile.in Thu Aug 26 21:55:44 2004 @@ -47,13 +47,13 @@ $(MKDIR) $(sysconfdir) $(MKDIR) $(RAW_ORCA_SERVICES_DIR) $(MKDIR) $(RRD_ORCA_SERVICES_DIR) - @if test "$(BIN_TARGETS)"; then \ + @if test "`echo $(BIN_TARGETS)`"; then \ for file in $(BIN_TARGETS); do \ echo $(INSTALL) $$file $(bindir); \ $(INSTALL) $$file $(bindir); \ done; \ fi - @if test "$(LIBEXEC_TARGETS)"; then \ + @if test "`echo $(LIBEXEC_TARGETS)`"; then \ for file in $(LIBEXEC_TARGETS); do \ echo $(INSTALL) $$file $(libexecdir); \ $(INSTALL) $$file $(libexecdir); \ Modified: trunk/orca/data_gatherers/orcallator/Makefile.in ============================================================================== --- trunk/orca/data_gatherers/orcallator/Makefile.in (original) +++ trunk/orca/data_gatherers/orcallator/Makefile.in Thu Aug 26 21:55:44 2004 @@ -48,7 +48,7 @@ $(MKDIR) $(sysconfdir) $(MKDIR) $(RAW_ORCALLATOR_DIR) $(MKDIR) $(RRD_ORCALLATOR_DIR) - @if test "$(BIN_TARGETS)"; then \ + @if test "`echo $(BIN_TARGETS)`"; then \ for file in $(BIN_TARGETS); do \ echo $(INSTALL) $$file $(bindir); \ $(INSTALL) $$file $(bindir); \ Modified: trunk/orca/data_gatherers/procallator/Makefile.in ============================================================================== --- trunk/orca/data_gatherers/procallator/Makefile.in (original) +++ trunk/orca/data_gatherers/procallator/Makefile.in Thu Aug 26 21:55:44 2004 @@ -44,7 +44,7 @@ $(MKDIR) $(bindir) $(MKDIR) $(RAW_PROCALLATOR_DIR) $(MKDIR) $(RRD_PROCALLATOR_DIR) - @if test "$(BIN_TARGETS)"; then \ + @if test "`echo $(BIN_TARGETS)`"; then \ for file in $(BIN_TARGETS); do \ echo $(INSTALL) $$file $(bindir); \ $(INSTALL) $$file $(bindir); \ Modified: trunk/orca/data_gatherers/winallator/Makefile.in ============================================================================== --- trunk/orca/data_gatherers/winallator/Makefile.in (original) +++ trunk/orca/data_gatherers/winallator/Makefile.in Thu Aug 26 21:55:44 2004 @@ -42,7 +42,7 @@ $(MKDIR) $(sysconfdir) $(MKDIR) $(RAW_WINALLATOR_DIR) $(MKDIR) $(RRD_WINALLATOR_DIR) - @if test "$(BIN_TARGETS)"; then \ + @if test "`echo $(BIN_TARGETS)`"; then \ for file in $(BIN_TARGETS); do \ echo $(INSTALL) $$file $(bindir); \ $(INSTALL) $$file $(bindir); \