debian/0000755000000000000000000000000012172527473007200 5ustar debian/tennix.docs0000644000000000000000000000000712172203367011345 0ustar README debian/tennix.menu0000644000000000000000000000021112172203367011356 0ustar ?package(tennix):needs="X11" section="Games/Toys"\ title="tennix" command="/usr/games/tennix" \ icon="/usr/share/pixmaps/tennix.xpm" debian/control0000644000000000000000000000160312172470075010576 0ustar Source: tennix Section: games Priority: optional Maintainer: Andrea Colangelo Homepage: http://icculus.org/tennix Build-Depends: debhelper (>= 9), libsdl1.2-dev, libsdl-mixer1.2-dev, libsdl-image1.2-dev, libsdl-ttf2.0-dev, libsdl-net1.2-dev, python-dev Standards-Version: 3.9.4 Vcs-Git: git://anonscm.debian.org/collab-maint/tennix.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/tennix.git Package: tennix Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: 2D tennis game Tennix is a funny tennis game in 2D. You can play against the computer or against another player using the keyboard. The game runs in-window at 640x480 resolution or fullscreen. . Refer to manpage tennix(6) for gameplay instructions and command-line options. debian/tennix.install0000644000000000000000000000004512172203367012065 0ustar debian/tennix.xpm /usr/share/pixmaps debian/watch0000644000000000000000000000010412172203367010215 0ustar version=3 http://icculus.org/tennix/downloads/tennix-(.*)\.tar\.gz debian/changelog0000644000000000000000000000572612172527473011064 0ustar tennix (1.1-3) unstable; urgency=low * debian/control: + bump Standards-Version to 3.9.4. No changes required. + add Vcs-* tags. + bump to dh 9. * debian/compat: update accordingly. * debian/copyright: update to DEP-5. * debian/patches/do_not_delete_ChangeLog.patch: add to avoid ChangeLog being deleted during clean. * debian/patches/fix_relro.patch: add to build with relro flag. * debian/patches/series: update. * debian/rules: add override to dh_installchangelogs. -- Andrea Colangelo Fri, 20 Jul 2013 17:31:50 +0200 tennix (1.1-2) unstable; urgency=low * debian/patches/fix_FTBFS.patch: add to fix FTBFS on amd64. (Closes: #664907) * debian/patches/series: create accordingly. * debian/control: + drop DM-Upload-Allowed field. + bump Standards-Version to 3.9.3. No changes required. -- Andrea Colangelo Mon, 25 Jun 2012 10:17:58 +0200 tennix (1.1-1) unstable; urgency=low * New upstream release. * Switch to dpkg-source 3.0 (quilt) format. * Switch to debhelper 7. * debian/patches/: delete, the only remaining patch has been integrated upstream. * debian/README.source: delete, not needed anymore. * debian/copyright: update. * debian/control: + drop useless dpatch build-depend. + add libsdl-net1.2-dev build-depend. + bump Standards-Version to 3.9.2, no changes required. * debian/rules: modify to use debhelper 7. -- Andrea Colangelo Thu, 05 May 2011 13:40:48 +0200 tennix (1.0-2) unstable; urgency=low * debian/control: + bump Standards-Version to 3.8.3. + add DM-Upload-Allowed field. * debian/watch: fix path. * Add README.source. -- Andrea Colangelo Wed, 25 Nov 2009 14:12:46 +0100 tennix (1.0-1) unstable; urgency=low * New upstream release. * debian/rules: + modify to make it actually work with the new makefile. + remove call to dh_desktop, now deprecated. * debian/watch: fix the url to the source repository. * debian/control: + add libsdl-ttf2.0-dev, python-dev, to build-deps. + bump Standards-Version to 3.8.1. * Add dpatch support. * debian/patches/10_python2.6support.dpatch: fix FTBFS on Python > 2.5. Thanks to Thomas Perl for this patch. -- Andrea Colangelo Thu, 14 May 2009 10:38:30 +0200 tennix (0.6.1-1) unstable; urgency=low * New upstream release: + Faster graphics; touchscreen support. + Add FPS limiting code; fix touchpad movement + Smoothen player racket movement (accelerate) + Fix and improve mouse input, initialize players correctly + Apply patch from Enrico Zini to improve ball movement + Fix mouse control, add mouse rectangle, enable mouse by default * New e-mail address. -- Andrea Colangelo Sun, 23 Mar 2008 19:31:59 +0100 tennix (0.5.0-1) unstable; urgency=low * Initial release (closes: #445516) -- Andrea Colangelo Sun, 16 Dec 2007 10:07:11 +0100 debian/patches/0000755000000000000000000000000012172466053010623 5ustar debian/patches/series0000644000000000000000000000007612172466050012040 0ustar fix_FTBFS.patch do_not_delete_ChangeLog.patch fix_relro.patch debian/patches/fix_relro.patch0000644000000000000000000000072712172465253013644 0ustar Description: pass LDFLAGS to compiler to build with relro flag. Author: Andrea Colangelo Last-Update: 2014-07-20 --- tennix-1.1.orig/makefile +++ tennix-1.1/makefile @@ -90,7 +90,7 @@ DATAFILES = README README.* DATAFILES_OSX = $(DATAFILES) data/Tennix.icns tennix: $(OBJ) tennix.tnx - $(CC) $(CFLAGS) -o tennix $(OBJ) $(LIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o tennix $(OBJ) $(LIBS) test -f tennix.exe && upx tennix.exe || true ChangeLog: debian/patches/fix_FTBFS.patch0000644000000000000000000002077512172203367013366 0ustar From: Thomas Perl Description: Fix FTBFS Origin: upstream, http://repo.or.cz/w/tennix.git/commitdiff/6144cb7626dfdc0820a0036af83a531e8e68bae6 Bug-Debian: http://bugs.debian.org/664907 --- tennix-1.1.orig/archivetool.cc +++ tennix-1.1/archivetool.cc @@ -24,6 +24,7 @@ #include #include #include +#include #include #include "archive.hh" --- tennix-1.1.orig/game.c +++ tennix-1.1/game.c @@ -388,6 +388,9 @@ void step(GameState* s) { s->ball.move_x = 4.0 + 3.0*PLAYER(s, p).power/PLAYER_POWER_MAX; s->ball.move_z = 1.1*PLAYER(s, p).power/PLAYER_POWER_MAX; break; + default: + assert(false); + break; } s->ball.move_y = get_move_y( s, p); s->sound_events ^= SOUND_EVENT_RACKET; --- tennix-1.1.orig/network.h +++ tennix-1.1/network.h @@ -103,19 +103,19 @@ void net_serialize_ball(const Ball* src, NetworkBall* dest); void -net_unserialize_ball(const NetworkBall* src, Ball* dest); +net_unserialize_ball(NetworkBall* src, Ball* dest); void net_serialize_player(const Player* src, NetworkPlayer* dest); void -net_unserialize_player(const NetworkPlayer* src, Player* dest); +net_unserialize_player(NetworkPlayer* src, Player* dest); void net_serialize_gamestate(const GameState* src, NetworkGameState* dest); void -net_unserialize_gamestate(const NetworkGameState* src, GameState* dest); +net_unserialize_gamestate(NetworkGameState* src, GameState* dest); #endif --- tennix-1.1.orig/locations.h +++ tennix-1.1/locations.h @@ -155,7 +155,7 @@ static Location locations[] = { #endif /* End marker */ - { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false } + { NULL, NULL, NULL, 0, 0, NULL, 0, 0, 0, 0, false, false, 0, 0 } }; unsigned int location_count() --- tennix-1.1.orig/tennix.cc +++ tennix-1.1/tennix.cc @@ -461,7 +461,7 @@ int main( int argc, char** argv) { start_fade(); gameloop(current_game, connection); SDL_Delay(150); - while(SDL_PollEvent(&e)); + while (SDL_PollEvent(&e)) {}; #ifdef ENABLE_FPS_LIMIT frames = 0; ft = SDL_GetTicks(); --- tennix-1.1.orig/SDL_rotozoom.c +++ tennix-1.1/SDL_rotozoom.c @@ -365,6 +365,9 @@ int zoomSurfaceRGBA(SDL_Surface * src, S int zoomSurfaceY(SDL_Surface * src, SDL_Surface * dst, int flipx, int flipy) { + (void)flipx; + (void)flipy; + Uint32 x, y, sx, sy, *sax, *say, *csax, *csay, csx, csy; Uint8 *sp, *dp, *csp; int dgap; @@ -393,7 +396,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ */ csx = 0; csax = sax; - for (x = 0; x < dst->w; x++) { + for (x = 0; x < (Uint32)dst->w; x++) { csx += sx; *csax = (csx >> 16); csx &= 0xffff; @@ -401,7 +404,7 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ } csy = 0; csay = say; - for (y = 0; y < dst->h; y++) { + for (y = 0; y < (Uint32)dst->h; y++) { csy += sy; *csay = (csy >> 16); csy &= 0xffff; @@ -410,13 +413,13 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ csx = 0; csax = sax; - for (x = 0; x < dst->w; x++) { + for (x = 0; x < (Uint32)dst->w; x++) { csx += (*csax); csax++; } csy = 0; csay = say; - for (y = 0; y < dst->h; y++) { + for (y = 0; y < (Uint32)dst->h; y++) { csy += (*csay); csay++; } @@ -432,10 +435,10 @@ int zoomSurfaceY(SDL_Surface * src, SDL_ * Draw */ csay = say; - for (y = 0; y < dst->h; y++) { + for (y = 0; y < (Uint32)dst->h; y++) { csax = sax; sp = csp; - for (x = 0; x < dst->w; x++) { + for (x = 0; x < (Uint32)dst->w; x++) { /* * Draw */ @@ -801,6 +804,8 @@ SDL_Surface* rotateSurface90Degrees(SDL_ void rotozoomSurfaceSizeTrig(int width, int height, double angle, double zoomx, double zoomy, int *dstwidth, int *dstheight, double *canglezoom, double *sanglezoom) { + (void)zoomy; + double x, y, cx, cy, sx, sy; double radangle; int dstwidthhalf, dstheighthalf; --- tennix-1.1.orig/network.c +++ tennix-1.1/network.c @@ -183,7 +183,7 @@ net_serialize_ball(const Ball* src, Netw } void -net_unserialize_ball(const NetworkBall* src, Ball* dest) +net_unserialize_ball(NetworkBall* src, Ball* dest) { assert(src != NULL && dest != NULL); dest->x = unpack_float(SDLNet_Read32(&(src->x)), -WIDTH, WIDTH*2); @@ -213,7 +213,7 @@ net_serialize_player(const Player* src, } void -net_unserialize_player(const NetworkPlayer* src, Player* dest) +net_unserialize_player(NetworkPlayer* src, Player* dest) { assert(src != NULL && dest != NULL); dest->x = unpack_float(SDLNet_Read32(&(src->x)), 0, WIDTH*1.2); @@ -221,7 +221,7 @@ net_unserialize_player(const NetworkPlay dest->power = unpack_float(SDLNet_Read32(&(src->power)), 0, 110); dest->use_power = src->use_power; dest->score = src->score; - dest->desire = src->desire; + dest->desire = (PlayerDesire)src->desire; dest->game = src->game; memcpy(dest->sets, src->sets, sizeof(unsigned char)*(SETS_TO_WIN*2)); dest->accelerate = unpack_float(SDLNet_Read32(&(src->accelerate)), 0, 200); @@ -250,7 +250,7 @@ net_serialize_gamestate(const GameState* } void -net_unserialize_gamestate(const NetworkGameState* src, GameState* dest) +net_unserialize_gamestate(NetworkGameState* src, GameState* dest) { int p; --- tennix-1.1.orig/makefile +++ tennix-1.1/makefile @@ -27,24 +27,23 @@ ifeq ($(MKCALLGRAPH),1) LD = nccld endif -RELEASE = 1.1 - -UNAME = $(shell uname) +RELEASE = 1.1.1 PREFIX ?= /usr/local BINDIR ?= $(PREFIX)/bin DATAROOTDIR ?= $(PREFIX)/share DATADIR ?= $(DATAROOTDIR)/games -LIBS = -CFLAGS += -W -Wall -ansi -pedantic -Wcast-qual -Wwrite-strings -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\" -g +CFLAGS += -W -Wall -DVERSION=\"$(RELEASE)\" -O2 -DPREFIX=\"$(PREFIX)\" CXXFLAGS += $(CFLAGS) USE_PYTHON ?= 1 ifeq ($(USE_PYTHON),1) - CFLAGS += `python-config --includes` -DTENNIX_PYTHON - LIBS += `python-config --libs` + PYTHON_INCLUDES := $(shell python-config --includes) + PYTHON_LIBS := $(shell python-config --libs) + CFLAGS += $(PYTHON_INCLUDES) -DTENNIX_PYTHON + LIBS += $(PYTHON_LIBS) endif ifeq ($(NONFREE_LOCATIONS),1) @@ -67,17 +66,14 @@ ifeq ($(MAEMO),1) CFLAGS += -DMAEMO endif -ifeq ($(UNAME),Darwin) - SDLLIBS=$$(sdl-config --prefix)/lib - LIBS += $$(sdl-config --static-libs) $(SDLLIBS)/libSDL_mixer.a $(SDLLIBS)/libSDL_image.a $(SDLLIBS)/libSDL_ttf.a $(SDLLIBS)/libSDL_net.a $$(freetype-config --prefix)/lib/libfreetype.a - CFLAGS += $$(sdl-config --cflags) -lz -else - LIBS += $$(sdl-config --libs) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net - CFLAGS += $$(sdl-config --cflags) -endif +SDL_LIBS := $(shell sdl-config --libs) +SDL_CFLAGS := $(shell sdl-config --cflags) + +LIBS += $(SDL_LIBS) -lSDL_mixer -lSDL_image -lSDL_ttf -lSDL_net +CFLAGS += $(SDL_CFLAGS) -SRC = tennix.cc game.c graphics.cc input.c util.c sound.cc animation.c network.c OBJ = tennix.o game.o graphics.o input.o util.o sound.o animation.o archive.o SDL_rotozoom.o network.o + ifeq ($(MSYSTEM),MINGW32) OBJ += tennixres.o endif --- tennix-1.1.orig/game.h +++ tennix-1.1/game.h @@ -98,6 +98,13 @@ typedef struct { bool inhibit_gravity; } Ball; +enum PlayerDesire { + DESIRE_NORMAL, + DESIRE_TOPSPIN, + DESIRE_SMASH, + DESIRE_MAX +}; + typedef struct { InputDevice* input; char input_device_index; @@ -106,9 +113,9 @@ typedef struct { float power; bool use_power; unsigned char score; - unsigned char desire; + PlayerDesire desire; bool type; /* is this player ai-controlled or human? */ - char game; /* score for the current game */ + int game; /* score for the current game */ unsigned char sets[SETS_TO_WIN*2]; /* score for each set */ float accelerate; /* a value [0..1] how fast the user accelerates */ } Player; @@ -118,13 +125,6 @@ enum { PLAYER_TYPE_AI }; -enum { - DESIRE_NORMAL, - DESIRE_TOPSPIN, - DESIRE_SMASH, - DESIRE_MAX -}; - /* wait 2 seconds before we score the game */ #define SCORING_DELAY 1000 @@ -161,7 +161,7 @@ enum { typedef struct { const Location* location; - char current_location; /* index of loc. in global location table */ + int current_location; /* index of loc. in global location table */ Ball ball; Player players[MAXPLAYERS]; unsigned char serving_player; debian/patches/do_not_delete_ChangeLog.patch0000644000000000000000000000107312172246364016361 0ustar Description: don't delete ChangeLog when cleaning Author: Andrea Colangelo Forwarded: not-needed Last-Update: 2013-07-19 --- tennix-1.1.orig/makefile +++ tennix-1.1/makefile @@ -174,7 +174,7 @@ clean: rm -f tennix.tnx distclean: clean - rm -rf tennix-$(RELEASE).zip tennix-$(RELEASE)-bin.tar.gz ChangeLog .release-tmp tennix-$(RELEASE).tar.gz + rm -rf tennix-$(RELEASE).zip tennix-$(RELEASE)-bin.tar.gz .release-tmp tennix-$(RELEASE).tar.gz .PHONY: distclean clean release-bin release-win32 release-win32-setup release-osx install tennixar debian/compat0000644000000000000000000000000212172203465010366 0ustar 9 debian/copyright0000644000000000000000000000305512172215676011135 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Tennix Source: http://icculus.org/tennix/ Files: * Copyright: 2003, 2007, 2008, 2009 Thomas Perl License: GPL-2+ Files: archive* Copyright: 2009-2010 Thomas Perl License: GPL-2+ Files: SDL_rotozoom.* Copyright: A. Schiffler License: LGPL Files: data/data2csrc.c Copyright: 2007 Thomas Perl License: other Public domain Files: data/*.ogg Copyright: 2004-2007 MelodyLoops.com License: other Public domain Files: debian/* Copyright: 2007-2013 Andrea Colangelo License: GPL-2+ License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian systems, the complete text of the GNU General Public License can be found in '/usr/share/common-licenses/GPL-2'. License: LGPL On Debian systems, the complete text of the GNU Lesser General Public License can be found in '/usr/share/common-licenses/LGPL-2.1'. debian/source/0000755000000000000000000000000012172204071010462 5ustar debian/source/format0000644000000000000000000000001412172203367011677 0ustar 3.0 (quilt) debian/rules0000755000000000000000000000047512172526403010256 0ustar #!/usr/bin/make -f #export DH_VERBOSE=1 %: dh $@ override_dh_auto_build: $(MAKE) PREFIX=usr override_dh_auto_install: $(MAKE) install DESTDIR=$(CURDIR)/debian/tennix/ \ PREFIX=usr \ BINDIR=usr/games override_dh_installchangelogs: dh_installchangelogs ChangeLog debian/tennix.xpm0000644000000000000000000003170612172203367011233 0ustar /* XPM */ static char * tennix_xpm[] = { "32 32 689 2", " c None", ". c #2E3436", "+ c #313738", "@ c #363B3B", "# c #383E3F", "$ c #393E40", "% c #3A3F41", "& c #3A4041", "* c #393E3E", "= c #383D3C", "- c #363B3A", "; c #2F3537", "> c #353A3A", ", c #444845", "' c #6D6F5E", ") c #B0AF94", "! c #DADAD2", "~ c #DFDFD8", "{ c #D7D6CF", "] c #D9D8C8", "^ c #DFDBB5", "/ c #D7D2A2", "( c #B0AE86", "_ c #6D7060", ": c #444946", "< c #353B3B", "[ c #303637", "} c #333839", "| c #4B4E47", "1 c #88866F", "2 c #D7D2A7", "3 c #EAE6C1", "4 c #ECE7C3", "5 c #EFEDDB", "6 c #EAEAE6", "7 c #D3D4CE", "8 c #C9CAC1", "9 c #DCDCBB", "0 c #E9E9BA", "a c #EAEAC2", "b c #ECEAC8", "c c #DCD8B0", "d c #8A8B76", "e c #4B504A", "f c #333939", "g c #2F3536", "h c #696B5C", "i c #CCC69D", "j c #E8E4C0", "k c #E5E4B4", "l c #E4DF99", "m c #E3D971", "n c #F0E69F", "o c #F1F2EE", "p c #A1A29D", "q c #606258", "r c #A2A54B", "s c #DCDD54", "t c #DFE480", "u c #E6E7AA", "v c #EDE9C0", "w c #EDE9CA", "x c #D1CEAA", "y c #6B6E61", "z c #383D3D", "A c #3B403E", "B c #7C7C69", "C c #DDD7AE", "D c #E8E3B9", "E c #DDDE95", "F c #D2D14E", "G c #CFC713", "H c #CACA0D", "I c #E8DC66", "J c #FEFCF4", "K c #B4B4AA", "L c #5C5E51", "M c #8F933F", "N c #CCD130", "O c #CADB35", "P c #D2DC42", "Q c #E6E073", "R c #EDE6AC", "S c #EDEAC8", "T c #E3DFBC", "U c #7E7F71", "V c #3C4140", "W c #E3DEB7", "X c #E6E0B1", "Y c #D7D576", "Z c #C0C827", "` c #C2C40F", " . c #CCC30A", ".. c #C2CA11", "+. c #D9DB60", "@. c #FBF6E1", "#. c #BBBAA9", "$. c #646652", "%. c #878A44", "&. c #CAC937", "*. c #D0D93A", "=. c #C8DA3F", "-. c #DCD949", ";. c #E4DA5C", ">. c #E6E398", ",. c #ECE9C2", "'. c #E9E6C5", "). c #686A5C", "!. c #DCD6AF", "~. c #E3E2B3", "{. c #D8CE66", "]. c #C4BF16", "^. c #BCC111", "/. c #C7BD0C", "(. c #C9C00C", "_. c #C6C40E", ":. c #D7D354", "<. c #F7ECCB", "[. c #C0BCA4", "}. c #6B6C54", "|. c #7E8348", "1. c #BDC23D", "2. c #CBD63E", "3. c #BDD640", "4. c #C8D447", "5. c #C9D348", "6. c #D6D754", "7. c #E3E18E", "8. c #ECE9C3", "9. c #4A4D47", "0. c #C9C29C", "a. c #E4E2BA", "b. c #D1D67A", "c. c #C6B712", "d. c #CCB004", "e. c #C7B309", "f. c #CAB208", "g. c #CAB50A", "h. c #C9BA0C", "i. c #DBCA4E", "j. c #F4E5C4", "k. c #C2BA9D", "l. c #6D6D53", "m. c #7B814A", "n. c #B0C13F", "o. c #C9D543", "p. c #D1D34C", "q. c #CAD24C", "r. c #C7D14E", "s. c #D1D554", "t. c #D5D95A", "u. c #E3E59A", "v. c #D0CDA9", "w. c #4B4F49", "x. c #86846D", "y. c #E6E0BE", "z. c #DAD895", "A. c #B7C42A", "B. c #BFB50C", "C. c #D1A500", "D. c #D2A501", "E. c #D1A803", "F. c #CCAE08", "G. c #CBB40A", "H. c #DDCA57", "I. c #F5E9D2", "J. c #BCB79E", "K. c #676952", "L. c #83864B", "M. c #B7C542", "N. c #C2D646", "O. c #D6D456", "P. c #D9D55E", "Q. c #D6D761", "R. c #D7DA63", "S. c #CFDC5B", "T. c #CCE060", "U. c #E3E8AE", "V. c #EBEACB", "W. c #898A74", "X. c #2F3436", "Y. c #444844", "Z. c #D3CCA7", "`. c #E4DDB2", " + c #CCC34B", ".+ c #B7B910", "++ c #BAB510", "@+ c #D0A201", "#+ c #CFA403", "$+ c #CCAB07", "%+ c #CAB309", "&+ c #D2B90E", "*+ c #E2D470", "=+ c #F9F0E4", "-+ c #B3B19E", ";+ c #5F6151", ">+ c #8E8D4C", ",+ c #BACA43", "'+ c #C5D64D", ")+ c #D7D760", "!+ c #D6DA68", "~+ c #D6DE6D", "{+ c #DEE073", "]+ c #CBE062", "^+ c #C2E054", "/+ c #D1E47C", "(+ c #E8EAC2", "_+ c #DBD8B2", ":+ c #6C6D5D", "<+ c #E5E0C1", "[+ c #DED698", "}+ c #C0B613", "|+ c #BEB50B", "1+ c #C0B30B", "2+ c #CAAB05", "3+ c #C5AF0A", "4+ c #CAB109", "5+ c #CBB80A", "6+ c #D0C428", "7+ c #E7DF95", "8+ c #F0E8D6", "9+ c #9F9D88", "0+ c #5A5C52", "a+ c #A1984D", "b+ c #CDD04A", "c+ c #D7D65C", "d+ c #DDD96C", "e+ c #D3DD6F", "f+ c #CCE06E", "g+ c #CCE26E", "h+ c #CCE268", "i+ c #D1E161", "j+ c #CBE159", "k+ c #E7EAB8", "l+ c #EEEBCF", "m+ c #6E7062", "n+ c #AAA581", "o+ c #E3E1BD", "p+ c #CFD06F", "q+ c #B7BB10", "r+ c #B9BC10", "s+ c #B7C013", "t+ c #C5B70A", "u+ c #C4B70C", "v+ c #CAB609", "w+ c #CDBA0B", "x+ c #D8CA47", "y+ c #EFE4B9", "z+ c #D6CCAF", "A+ c #828064", "B+ c #656750", "C+ c #B1A84C", "D+ c #D6D34E", "E+ c #DFD564", "F+ c #DED76F", "G+ c #CCDA6C", "H+ c #BCDE64", "I+ c #CBE273", "J+ c #C9E36B", "K+ c #D2E267", "L+ c #DEE67B", "M+ c #EFEFCB", "N+ c #F0EEDD", "O+ c #AEAD8E", "P+ c #CEC79F", "Q+ c #E1E2B7", "R+ c #BCCD4A", "S+ c #B7BE11", "T+ c #BBBE0F", "U+ c #B5C615", "V+ c #CBB907", "W+ c #C8BA0A", "X+ c #D1B807", "Y+ c #D6C01C", "Z+ c #E6D67C", "`+ c #F0E0CA", " @ c #B4A98E", ".@ c #666554", "+@ c #7B7B4C", "@@ c #BBBB47", "#@ c #CBD34C", "$@ c #D2D35C", "%@ c #D6D46B", "&@ c #C3D766", "*@ c #BDDE6A", "=@ c #CDE27C", "-@ c #CAE475", ";@ c #DBEA93", ">@ c #F4F5CE", ",@ c #FAF9F4", "'@ c #EFEEE8", ")@ c #C7C5B3", "!@ c #373D3D", "~@ c #383E3D", "{@ c #DBD7B3", "]@ c #E1E0B2", "^@ c #C1C127", "/@ c #C0BC0C", "(@ c #C6BA09", "_@ c #BFC10E", ":@ c #D4B702", "<@ c #D1B906", "[@ c #D9BB08", "}@ c #DFCD4D", "|@ c #F1E4BF", "1@ c #D6C7B0", "2@ c #837E68", "3@ c #5E6250", "4@ c #9B9B48", "5@ c #D0CF47", "6@ c #CBD54F", "7@ c #C5D556", "8@ c #CFD76D", "9@ c #C5DC6F", "0@ c #BDE172", "a@ c #CDE687", "b@ c #DDEFAB", "c@ c #F5F9E2", "d@ c #FCFDF5", "e@ c #D7D7CB", "f@ c #DDDDD6", "g@ c #C5C6C3", "h@ c #373D3E", "i@ c #3A3F3F", "j@ c #E1E0C1", "k@ c #E3DFAF", "l@ c #CDB50E", "m@ c #CEB603", "n@ c #D1B602", "o@ c #CABD08", "p@ c #D8B700", "q@ c #D6B903", "r@ c #D7C628", "s@ c #EAE096", "t@ c #EEE1CE", "u@ c #AAA085", "v@ c #5F6051", "w@ c #7A7F48", "x@ c #C6C042", "y@ c #E0D74B", "z@ c #D3D655", "A@ c #CED861", "B@ c #D4DD77", "C@ c #CAE27D", "D@ c #BEE57C", "E@ c #DFF0B6", "F@ c #F9FBEF", "G@ c #FBFAF2", "H@ c #C1C2B5", "I@ c #868678", "J@ c #CACAC5", "K@ c #D6D6CB", "L@ c #393F40", "M@ c #E3E0C0", "N@ c #E5DFAE", "O@ c #C8BD13", "P@ c #CDB905", "Q@ c #D2B802", "R@ c #C9BF0A", "S@ c #D2BD06", "T@ c #D2C21A", "U@ c #DEDA75", "V@ c #F5EDD5", "W@ c #CDC5B1", "X@ c #79755D", "Y@ c #64684D", "Z@ c #A0A53C", "`@ c #DDD43C", " # c #E0D54A", ".# c #D2D352", "+# c #D4D664", "@# c #D7DC79", "## c #D2E38A", "$# c #D9EFB1", "%# c #F5FBEB", "&# c #FAFAF2", "*# c #BDBDAF", "=# c #6E7065", "-# c #D3D2C2", ";# c #E5E2C8", "># c #3A3F40", ",# c #313635", "'# c #393E3D", ")# c #DDD8B2", "!# c #E5E0B1", "~# c #C5C626", "{# c #C2C30E", "]# c #CFBD06", "^# c #CAC10C", "/# c #D6C31F", "(# c #E0D877", "_# c #EEE9C9", ":# c #D4D0C7", "<# c #898879", "[# c #5D5F4F", "}# c #808740", "|# c #BCC42F", "1# c #D7D338", "2# c #D6D043", "3# c #C5CE46", "4# c #C5D053", "5# c #CCD667", "6# c #DDE8A4", "7# c #F6FAE9", "8# c #F8F9F1", "9# c #B9BAAD", "0# c #6D6F66", "a# c #646854", "b# c #A1A863", "c# c #E2E3C2", "d# c #E2DFBB", "e# c #323635", "f# c #D1CBA0", "g# c #E6E2B5", "h# c #C9D045", "i# c #C5C50D", "j# c #C9C40E", "k# c #D4C72A", "l# c #ECD883", "m# c #EDE4CA", "n# c #C9C4BC", "o# c #828379", "p# c #5E6052", "q# c #727B42", "r# c #A1B42D", "s# c #C1D129", "t# c #C9D033", "u# c #C4CE3C", "v# c #C0CB41", "w# c #C5CD4E", "x# c #D5DA7E", "y# c #F0F3D4", "z# c #FCFCF5", "A# c #BEBFAF", "B# c #6E7066", "C# c #666957", "D# c #90A551", "E# c #C4DA6F", "F# c #E6EAC3", "G# c #D7D3AA", "H# c #353B3A", "I# c #ADA881", "J# c #E9E4BB", "K# c #DCD76E", "L# c #D7C71B", "M# c #DAD85A", "N# c #ECE4A1", "O# c #EDE3CF", "P# c #BAB5A9", "Q# c #787870", "R# c #5F604F", "S# c #7B803D", "T# c #A4B425", "U# c #BBCD1E", "V# c #C5D027", "W# c #CACE30", "X# c #C2CD39", "Y# c #C2CD42", "Z# c #CAD45D", "`# c #E8ECB8", " $ c #FDFCF5", ".$ c #DBDACC", "+$ c #7F7E71", "@$ c #636457", "#$ c #98A55A", "$$ c #BCD751", "%$ c #D5E58E", "&$ c #E9EAC7", "*$ c #B0AE8A", "=$ c #6D6E5E", "-$ c #ECE8CB", ";$ c #EDE7BE", ">$ c #EFE6A7", ",$ c #DCDAB8", "'$ c #BAB7AD", ")$ c #93918A", "!$ c #6E6E67", "~$ c #5F614D", "{$ c #898535", "]$ c #B6B41C", "^$ c #BCCC17", "/$ c #C1CF19", "($ c #C4CF24", "_$ c #CCCE2D", ":$ c #C6CE38", "<$ c #C5D346", "[$ c #D9E692", "}$ c #F6FAE7", "|$ c #EFF2E3", "1$ c #989989", "2$ c #606059", "3$ c #8E935E", "4$ c #BED35A", "5$ c #DAE05D", "6$ c #E5E8B1", "7$ c #ECEACB", "8$ c #6D7062", "9$ c #313636", "0$ c #444949", "a$ c #DDDCD4", "b$ c #E6E5DF", "c$ c #BEBEB9", "d$ c #80817D", "e$ c #6B6B67", "f$ c #5C5D55", "g$ c #6B6946", "h$ c #968F2E", "i$ c #C2B515", "j$ c #CFC60D", "k$ c #CACA10", "l$ c #CECA0F", "m$ c #C7CB1E", "n$ c #C4CE2A", "o$ c #C3D036", "p$ c #D4DF70", "q$ c #F0F5D1", "r$ c #FAFCF1", "s$ c #B0B3A1", "t$ c #66685F", "u$ c #7D7A5D", "v$ c #C9C46A", "w$ c #D4DE5C", "x$ c #E0E481", "y$ c #EAEAC3", "z$ c #DBD7B2", "A$ c #323835", "B$ c #353B3D", "C$ c #8D8F8C", "D$ c #E2E1D6", "E$ c #B7B8B4", "F$ c #6C6C5D", "G$ c #7E753B", "H$ c #A68E24", "I$ c #C0A516", "J$ c #CAB910", "K$ c #D4C50A", "L$ c #DAC708", "M$ c #DFC605", "N$ c #D6C50A", "O$ c #CEC516", "P$ c #C8C925", "Q$ c #C4D33B", "R$ c #E4EBA3", "S$ c #FCFDF6", "T$ c #CDD0BE", "U$ c #777A6C", "V$ c #666956", "W$ c #AFB260", "X$ c #E3DB67", "Y$ c #E7E06B", "Z$ c #E9E8B0", "`$ c #303638", " % c #4C504C", ".% c #CAC6A2", "+% c #DAD7C2", "@% c #C7BE83", "#% c #CFAF17", "$% c #DFB505", "%% c #E0BD03", "&% c #D5C209", "*% c #D8C608", "=% c #DDC806", "-% c #E2C604", ";% c #D6C309", ">% c #CDC211", ",% c #C9C720", "'% c #D4D958", ")% c #EFF4C9", "!% c #F7F8EC", "~% c #999B8C", "{% c #5E6056", "]% c #949B57", "^% c #BED454", "/% c #D9E05D", "(% c #EAE59D", "_% c #EEEAC9", ":% c #6A6C5C", "<% c #E0D9AF", "[% c #EBE4B0", "}% c #EBD560", "|% c #EAC60A", "1% c #E1C303", "2% c #D8C408", "3% c #E0C805", "4% c #DECA06", "5% c #E2C805", "6% c #D7C609", "7% c #C9C611", "8% c #C6CB1B", "9% c #E4E37E", "0% c #FAFBEB", "a% c #D9DAC5", "b% c #7C7E6F", "c% c #747852", "d% c #AFC24F", "e% c #C5DE53", "f% c #DDE58F", "g% c #ECEAC3", "h% c #303536", "i% c #7D7E6A", "j% c #E9E4B7", "k% c #EEE6B0", "l% c #ECDC6F", "m% c #E1CF1B", "n% c #D5CC0B", "o% c #E1CA05", "p% c #D9CB09", "q% c #DFCA05", "r% c #DECA07", "s% c #D5D429", "t% c #EBEEA7", "u% c #FDFDF7", "v% c #A8A99D", "w% c #5F6159", "x% c #989C4E", "y% c #C9D758", "z% c #E0E697", "A% c #E9EAC2", "B% c #E8E6C4", "C% c #7D7F70", "D% c #3B403F", "E% c #E3DEAE", "F% c #EEE8B8", "G% c #E9E393", "H% c #DFDA4E", "I% c #DBD114", "J% c #D8D00A", "K% c #E1CF06", "L% c #DFD007", "M% c #D8D20B", "N% c #E6DE45", "O% c #F6F5C6", "P% c #EEEDD8", "Q% c #8E8E7C", "R% c #6C6E57", "S% c #BCBF79", "T% c #E3E7AB", "U% c #DFE0BC", "V% c #7D8070", "W% c #3B4140", "X% c #353A3C", "Y% c #6B6C5C", "Z% c #CFCB9C", "`% c #ECE8BE", " & c #EBE7B3", ".& c #E3E49B", "+& c #DEE06F", "@& c #DEDA40", "#& c #DED724", "$& c #DED616", "%& c #E6E568", "&& c #F8F8DD", "*& c #DDDCCC", "=& c #B1B1A5", "-& c #C2C2B1", ";& c #E4E2C1", ">& c #ECEAC9", ",& c #CFCDA8", "'& c #6A6E60", ")& c #4A4E47", "!& c #88876D", "~& c #DBD6A7", "{& c #EBE9C1", "]& c #EAE9BC", "^& c #EAE8B5", "/& c #ECE8B0", "(& c #EBE8AF", "_& c #EDECCB", ":& c #F1F1EC", "<& c #E3E3DE", "[& c #D3D3CE", "}& c #E0DEC9", "|& c #DAD6AD", "1& c #898A73", "2& c #363C3E", "3& c #444945", "4& c #B0AD81", "5& c #D7D29F", "6& c #E3DEB2", "7& c #E9E5BF", "8& c #E9E5C2", "9& c #E3E0BF", "0& c #C3C3B4", "a& c #949693", "b& c #646763", "c& c #3A403F", "d& c #373C3D", "e& c #343A3B", "f& c #313638", " . . . . . . . . ", " . . + @ # $ % & * = - + . . ", " ; > , ' ) ! ~ { ] ^ / ( _ : < [ ", " . } | 1 2 3 4 5 6 7 8 9 0 a b c d e f ; ", " g = h i j k l m n o p q r s t u v w x y z ; ", " g A B C D E F G H I J K L M N O P Q R S T U V ; ", " . = B W X Y Z ` ...+.@.#.$.%.&.*.=.-.;.>.,.'.U z . ", " } ).!.~.{.].^./.(._.:.<.[.}.|.1.2.3.4.5.6.7.8.T y f ", " ; 9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.b v.w.; ", " . > x.y.z.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.< . ", " X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+: . ", " + :+<+[+}+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+k+l+m++ ", ". > n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+< . ", ". = P+Q+R+S+T+U+V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@;@>@,@'@)@!@. ", "g ~@{@]@^@/@(@_@:@<@[@}@|@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@g@h@. ", "g i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@A@B@C@D@E@F@G@H@I@J@K@L@. ", "g i@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@`@ #.#+#@###$#%#&#*#=#:+-#;#>#. ", ",#'#)#!#~#{#]#^#/#(#_#:#<#[#}#|#1#2#3#4#5#6#7#8#9#0#a#b#c#d#* . ", "e#= f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#A#B#C#D#E#F#G#z . ", "g H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#`# $.$+$@$#$$$%$&$*$@ . ", " + =$-$;$>$,$'$)$!$~${$]$^$/$($_$:$<$[$}$|$1$2$3$4$5$6$7$8$+ ", " 9$0$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$: ; ", " A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$7$W.< `$ ", " 9$ %.%+%@%#%$%%%&%*%=%-%;%>%,%'%)%!%~%{%]%^%/%(%_%v.w.+ ", " } :%<%[%}%|%1%2%3%4%5%6%7%8%9%0%a%b%c%d%e%f%g%T y f ", " h%= i%j%k%l%m%n%o%p%q%r%n%s%t%u%v%w%x%y%z%A%B%C%z B$ ", " ; D%i%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%&$U%V%W%X% ", " ; = Y%Z%`% &.&+&@&#&$&%&&&*&=&-&;&>&,&'&z X% ", " . } )&!&~&{&]&^&/&(&_&:&<&[&}&|&1&w.f 2& ", " ; > 3&' 4&5&6&7&8&9&0&a&b&3&H#; ", " . . + - = '#c&c&* d&e&f&. . ", " . . . . . . . . "};