From 473b1f700417d144bf4f0907c598680e3f996413 Mon Sep 17 00:00:00 2001 From: skomoroh Date: Tue, 22 Aug 2006 21:09:21 +0000 Subject: [PATCH] - removed pysollib/version.py; moved VERSION* constants to pysollib/settings.py + added data-files (images and glade-files) * GTK bindings: fonts-dialog * GTK bindings: fixed bug with lost connections git-svn-id: file:///home/shlomif/Backup/svn-dumps/PySolFC/svnsync-repos/pysolfc/PySolFC/trunk@55 efabe8c0-fbe8-4139-b769-b5e6d273206e --- Makefile | 5 +- data/glade-translations | 71 + data/images/buttons/bluecurve/cancel.gif | Bin 0 -> 592 bytes data/images/buttons/bluecurve/ok.gif | Bin 0 -> 567 bytes data/images/cards/large/01c.gif | Bin 0 -> 816 bytes data/images/cards/large/01d.gif | Bin 0 -> 816 bytes data/images/cards/large/01h.gif | Bin 0 -> 816 bytes data/images/cards/large/01s.gif | Bin 0 -> 816 bytes data/images/cards/large/02c.gif | Bin 0 -> 816 bytes data/images/cards/large/02d.gif | Bin 0 -> 816 bytes data/images/cards/large/02h.gif | Bin 0 -> 816 bytes data/images/cards/large/02s.gif | Bin 0 -> 816 bytes data/images/cards/large/03c.gif | Bin 0 -> 816 bytes data/images/cards/large/03d.gif | Bin 0 -> 816 bytes data/images/cards/large/03h.gif | Bin 0 -> 816 bytes data/images/cards/large/03s.gif | Bin 0 -> 816 bytes data/images/cards/large/04c.gif | Bin 0 -> 816 bytes data/images/cards/large/04d.gif | Bin 0 -> 816 bytes data/images/cards/large/04h.gif | Bin 0 -> 816 bytes data/images/cards/large/04s.gif | Bin 0 -> 816 bytes data/images/cards/large/05c.gif | Bin 0 -> 816 bytes data/images/cards/large/05d.gif | Bin 0 -> 816 bytes data/images/cards/large/05h.gif | Bin 0 -> 816 bytes data/images/cards/large/05s.gif | Bin 0 -> 816 bytes data/images/cards/large/06c.gif | Bin 0 -> 816 bytes data/images/cards/large/06d.gif | Bin 0 -> 816 bytes data/images/cards/large/06h.gif | Bin 0 -> 816 bytes data/images/cards/large/06s.gif | Bin 0 -> 816 bytes data/images/cards/large/07c.gif | Bin 0 -> 816 bytes data/images/cards/large/07d.gif | Bin 0 -> 816 bytes data/images/cards/large/07h.gif | Bin 0 -> 816 bytes data/images/cards/large/07s.gif | Bin 0 -> 816 bytes data/images/cards/large/08c.gif | Bin 0 -> 816 bytes data/images/cards/large/08d.gif | Bin 0 -> 816 bytes data/images/cards/large/08h.gif | Bin 0 -> 816 bytes data/images/cards/large/08s.gif | Bin 0 -> 816 bytes data/images/cards/large/09c.gif | Bin 0 -> 816 bytes data/images/cards/large/09d.gif | Bin 0 -> 816 bytes data/images/cards/large/09h.gif | Bin 0 -> 816 bytes data/images/cards/large/09s.gif | Bin 0 -> 816 bytes data/images/cards/large/10c.gif | Bin 0 -> 816 bytes data/images/cards/large/10d.gif | Bin 0 -> 816 bytes data/images/cards/large/10h.gif | Bin 0 -> 816 bytes data/images/cards/large/10s.gif | Bin 0 -> 816 bytes data/images/cards/large/11c.gif | Bin 0 -> 816 bytes data/images/cards/large/11d.gif | Bin 0 -> 816 bytes data/images/cards/large/11h.gif | Bin 0 -> 816 bytes data/images/cards/large/11s.gif | Bin 0 -> 816 bytes data/images/cards/large/12c.gif | Bin 0 -> 816 bytes data/images/cards/large/12d.gif | Bin 0 -> 816 bytes data/images/cards/large/12h.gif | Bin 0 -> 816 bytes data/images/cards/large/12s.gif | Bin 0 -> 816 bytes data/images/cards/large/13c.gif | Bin 0 -> 816 bytes data/images/cards/large/13d.gif | Bin 0 -> 816 bytes data/images/cards/large/13h.gif | Bin 0 -> 816 bytes data/images/cards/large/13s.gif | Bin 0 -> 816 bytes data/images/cards/small/01c.gif | Bin 0 -> 415 bytes data/images/cards/small/01d.gif | Bin 0 -> 415 bytes data/images/cards/small/01h.gif | Bin 0 -> 415 bytes data/images/cards/small/01s.gif | Bin 0 -> 415 bytes data/images/cards/small/02c.gif | Bin 0 -> 415 bytes data/images/cards/small/02d.gif | Bin 0 -> 415 bytes data/images/cards/small/02h.gif | Bin 0 -> 415 bytes data/images/cards/small/02s.gif | Bin 0 -> 415 bytes data/images/cards/small/03c.gif | Bin 0 -> 415 bytes data/images/cards/small/03d.gif | Bin 0 -> 415 bytes data/images/cards/small/03h.gif | Bin 0 -> 415 bytes data/images/cards/small/03s.gif | Bin 0 -> 415 bytes data/images/cards/small/04c.gif | Bin 0 -> 415 bytes data/images/cards/small/04d.gif | Bin 0 -> 415 bytes data/images/cards/small/04h.gif | Bin 0 -> 415 bytes data/images/cards/small/04s.gif | Bin 0 -> 415 bytes data/images/cards/small/05c.gif | Bin 0 -> 415 bytes data/images/cards/small/05d.gif | Bin 0 -> 415 bytes data/images/cards/small/05h.gif | Bin 0 -> 415 bytes data/images/cards/small/05s.gif | Bin 0 -> 415 bytes data/images/cards/small/06c.gif | Bin 0 -> 415 bytes data/images/cards/small/06d.gif | Bin 0 -> 415 bytes data/images/cards/small/06h.gif | Bin 0 -> 415 bytes data/images/cards/small/06s.gif | Bin 0 -> 415 bytes data/images/cards/small/07c.gif | Bin 0 -> 415 bytes data/images/cards/small/07d.gif | Bin 0 -> 415 bytes data/images/cards/small/07h.gif | Bin 0 -> 415 bytes data/images/cards/small/07s.gif | Bin 0 -> 415 bytes data/images/cards/small/08c.gif | Bin 0 -> 415 bytes data/images/cards/small/08d.gif | Bin 0 -> 415 bytes data/images/cards/small/08h.gif | Bin 0 -> 415 bytes data/images/cards/small/08s.gif | Bin 0 -> 415 bytes data/images/cards/small/09c.gif | Bin 0 -> 415 bytes data/images/cards/small/09d.gif | Bin 0 -> 415 bytes data/images/cards/small/09h.gif | Bin 0 -> 415 bytes data/images/cards/small/09s.gif | Bin 0 -> 415 bytes data/images/cards/small/10c.gif | Bin 0 -> 415 bytes data/images/cards/small/10d.gif | Bin 0 -> 415 bytes data/images/cards/small/10h.gif | Bin 0 -> 415 bytes data/images/cards/small/10s.gif | Bin 0 -> 415 bytes data/images/cards/small/11c.gif | Bin 0 -> 415 bytes data/images/cards/small/11d.gif | Bin 0 -> 415 bytes data/images/cards/small/11h.gif | Bin 0 -> 415 bytes data/images/cards/small/11s.gif | Bin 0 -> 415 bytes data/images/cards/small/12c.gif | Bin 0 -> 415 bytes data/images/cards/small/12d.gif | Bin 0 -> 415 bytes data/images/cards/small/12h.gif | Bin 0 -> 415 bytes data/images/cards/small/12s.gif | Bin 0 -> 415 bytes data/images/cards/small/13c.gif | Bin 0 -> 415 bytes data/images/cards/small/13d.gif | Bin 0 -> 415 bytes data/images/cards/small/13h.gif | Bin 0 -> 415 bytes data/images/cards/small/13s.gif | Bin 0 -> 415 bytes data/images/demo/demo01.gif | Bin 0 -> 14700 bytes data/images/demo/demo02.gif | Bin 0 -> 16685 bytes data/images/demo/demo03.gif | Bin 0 -> 14805 bytes data/images/demo/demo04.gif | Bin 0 -> 13367 bytes data/images/demo/demo05.gif | Bin 0 -> 12885 bytes data/images/dialog/bluecurve/error.gif | Bin 0 -> 1597 bytes data/images/dialog/bluecurve/info.gif | Bin 0 -> 1642 bytes data/images/dialog/bluecurve/question.gif | Bin 0 -> 1777 bytes data/images/dialog/bluecurve/warning.gif | Bin 0 -> 1573 bytes data/images/dialog/default/error.gif | Bin 0 -> 276 bytes data/images/dialog/default/info.gif | Bin 0 -> 271 bytes data/images/dialog/default/question.gif | Bin 0 -> 292 bytes data/images/dialog/default/warning.gif | Bin 0 -> 297 bytes data/images/htmlviewer/disk.gif | Bin 0 -> 85 bytes data/images/logos/joker07_40_774.gif | Bin 0 -> 4849 bytes data/images/logos/joker07_50_774.gif | Bin 0 -> 7574 bytes data/images/logos/joker08_40_774.gif | Bin 0 -> 4998 bytes data/images/logos/joker08_50_774.gif | Bin 0 -> 7431 bytes data/images/logos/joker10_100.gif | Bin 0 -> 27061 bytes data/images/logos/joker11_100_774.gif | Bin 0 -> 14249 bytes data/images/misc/pysol01.png | Bin 0 -> 2696 bytes data/images/misc/pysol02.png | Bin 0 -> 8595 bytes data/images/noredeal.gif | Bin 0 -> 1695 bytes data/images/pause/pause01.gif | Bin 0 -> 7556 bytes data/images/pause/pause02.gif | Bin 0 -> 8251 bytes data/images/pause/pause03.gif | Bin 0 -> 7158 bytes data/images/redeal.gif | Bin 0 -> 1492 bytes data/images/selectgame.gif | Bin 0 -> 1295 bytes data/images/stats/barchart.gif | Bin 0 -> 5835 bytes data/images/stoplight.gif | Bin 0 -> 1533 bytes data/images/stopsign.gif | Bin 0 -> 1053 bytes .../toolbar/bluecurve/large/autodrop.gif | Bin 0 -> 1311 bytes data/images/toolbar/bluecurve/large/new.gif | Bin 0 -> 558 bytes data/images/toolbar/bluecurve/large/open.gif | Bin 0 -> 1377 bytes data/images/toolbar/bluecurve/large/pause.gif | Bin 0 -> 929 bytes data/images/toolbar/bluecurve/large/quit.gif | Bin 0 -> 1431 bytes data/images/toolbar/bluecurve/large/redo.gif | Bin 0 -> 751 bytes .../toolbar/bluecurve/large/restart.gif | Bin 0 -> 1289 bytes data/images/toolbar/bluecurve/large/rules.gif | Bin 0 -> 1517 bytes data/images/toolbar/bluecurve/large/save.gif | Bin 0 -> 1410 bytes .../toolbar/bluecurve/large/statistics.gif | Bin 0 -> 781 bytes data/images/toolbar/bluecurve/large/undo.gif | Bin 0 -> 716 bytes .../toolbar/bluecurve/small/autodrop.gif | Bin 0 -> 1115 bytes data/images/toolbar/bluecurve/small/new.gif | Bin 0 -> 458 bytes data/images/toolbar/bluecurve/small/open.gif | Bin 0 -> 727 bytes data/images/toolbar/bluecurve/small/pause.gif | Bin 0 -> 471 bytes data/images/toolbar/bluecurve/small/quit.gif | Bin 0 -> 771 bytes data/images/toolbar/bluecurve/small/redo.gif | Bin 0 -> 707 bytes .../toolbar/bluecurve/small/restart.gif | Bin 0 -> 773 bytes data/images/toolbar/bluecurve/small/rules.gif | Bin 0 -> 1234 bytes data/images/toolbar/bluecurve/small/save.gif | Bin 0 -> 754 bytes .../toolbar/bluecurve/small/statistics.gif | Bin 0 -> 682 bytes data/images/toolbar/bluecurve/small/undo.gif | Bin 0 -> 676 bytes .../toolbar/bluecurve/xlarge/autodrop.gif | Bin 0 -> 1765 bytes data/images/toolbar/bluecurve/xlarge/new.gif | Bin 0 -> 826 bytes data/images/toolbar/bluecurve/xlarge/open.gif | Bin 0 -> 1885 bytes .../images/toolbar/bluecurve/xlarge/pause.gif | Bin 0 -> 886 bytes data/images/toolbar/bluecurve/xlarge/quit.gif | Bin 0 -> 2004 bytes data/images/toolbar/bluecurve/xlarge/redo.gif | Bin 0 -> 1478 bytes .../toolbar/bluecurve/xlarge/restart.gif | Bin 0 -> 1712 bytes .../images/toolbar/bluecurve/xlarge/rules.gif | Bin 0 -> 2134 bytes data/images/toolbar/bluecurve/xlarge/save.gif | Bin 0 -> 1911 bytes .../toolbar/bluecurve/xlarge/statistics.gif | Bin 0 -> 1442 bytes data/images/toolbar/bluecurve/xlarge/undo.gif | Bin 0 -> 1336 bytes data/images/toolbar/crystal/README.ICONS | 1 + .../images/toolbar/crystal/large/autodrop.gif | Bin 0 -> 1040 bytes data/images/toolbar/crystal/large/new.gif | Bin 0 -> 534 bytes data/images/toolbar/crystal/large/open.gif | Bin 0 -> 1032 bytes data/images/toolbar/crystal/large/pause.gif | Bin 0 -> 929 bytes data/images/toolbar/crystal/large/quit.gif | Bin 0 -> 909 bytes data/images/toolbar/crystal/large/redo.gif | Bin 0 -> 751 bytes data/images/toolbar/crystal/large/restart.gif | Bin 0 -> 1025 bytes data/images/toolbar/crystal/large/rules.gif | Bin 0 -> 979 bytes data/images/toolbar/crystal/large/save.gif | Bin 0 -> 994 bytes .../toolbar/crystal/large/statistics.gif | Bin 0 -> 1119 bytes data/images/toolbar/crystal/large/undo.gif | Bin 0 -> 763 bytes .../images/toolbar/crystal/small/autodrop.gif | Bin 0 -> 764 bytes data/images/toolbar/crystal/small/new.gif | Bin 0 -> 289 bytes data/images/toolbar/crystal/small/open.gif | Bin 0 -> 759 bytes data/images/toolbar/crystal/small/pause.gif | Bin 0 -> 409 bytes data/images/toolbar/crystal/small/quit.gif | Bin 0 -> 476 bytes data/images/toolbar/crystal/small/redo.gif | Bin 0 -> 598 bytes data/images/toolbar/crystal/small/restart.gif | Bin 0 -> 714 bytes data/images/toolbar/crystal/small/rules.gif | Bin 0 -> 726 bytes data/images/toolbar/crystal/small/save.gif | Bin 0 -> 540 bytes .../toolbar/crystal/small/statistics.gif | Bin 0 -> 796 bytes data/images/toolbar/crystal/small/undo.gif | Bin 0 -> 599 bytes .../toolbar/default/empty-large/autodrop.gif | Bin 0 -> 175 bytes .../toolbar/default/empty-large/new.gif | Bin 0 -> 179 bytes .../toolbar/default/empty-large/open.gif | Bin 0 -> 181 bytes .../toolbar/default/empty-large/quit.gif | Bin 0 -> 175 bytes .../toolbar/default/empty-large/redo.gif | Bin 0 -> 180 bytes .../toolbar/default/empty-large/restart.gif | Bin 0 -> 210 bytes .../toolbar/default/empty-large/rules.gif | Bin 0 -> 190 bytes .../toolbar/default/empty-large/save.gif | Bin 0 -> 160 bytes .../default/empty-large/statistics.gif | Bin 0 -> 171 bytes .../toolbar/default/empty-large/undo.gif | Bin 0 -> 189 bytes .../images/toolbar/default/large/autodrop.gif | Bin 0 -> 929 bytes data/images/toolbar/default/large/new.gif | Bin 0 -> 546 bytes data/images/toolbar/default/large/open.gif | Bin 0 -> 929 bytes data/images/toolbar/default/large/pause.gif | Bin 0 -> 929 bytes data/images/toolbar/default/large/quit.gif | Bin 0 -> 1142 bytes data/images/toolbar/default/large/redo.gif | Bin 0 -> 1457 bytes data/images/toolbar/default/large/restart.gif | Bin 0 -> 1142 bytes data/images/toolbar/default/large/rules.gif | Bin 0 -> 929 bytes data/images/toolbar/default/large/save.gif | Bin 0 -> 772 bytes .../toolbar/default/large/statistics.gif | Bin 0 -> 659 bytes data/images/toolbar/default/large/undo.gif | Bin 0 -> 1142 bytes .../images/toolbar/default/small/autodrop.gif | Bin 0 -> 377 bytes data/images/toolbar/default/small/new.gif | Bin 0 -> 158 bytes data/images/toolbar/default/small/open.gif | Bin 0 -> 191 bytes data/images/toolbar/default/small/pause.gif | Bin 0 -> 409 bytes data/images/toolbar/default/small/quit.gif | Bin 0 -> 200 bytes data/images/toolbar/default/small/redo.gif | Bin 0 -> 167 bytes data/images/toolbar/default/small/restart.gif | Bin 0 -> 192 bytes data/images/toolbar/default/small/rules.gif | Bin 0 -> 227 bytes data/images/toolbar/default/small/save.gif | Bin 0 -> 276 bytes .../toolbar/default/small/statistics.gif | Bin 0 -> 169 bytes data/images/toolbar/default/small/undo.gif | Bin 0 -> 169 bytes data/images/tree/emptynode.gif | Bin 0 -> 135 bytes data/images/tree/folder.gif | Bin 0 -> 176 bytes data/images/tree/minusnode.gif | Bin 0 -> 102 bytes data/images/tree/node.gif | Bin 0 -> 129 bytes data/images/tree/openfolder.gif | Bin 0 -> 172 bytes data/images/tree/plusnode.gif | Bin 0 -> 107 bytes data/images/tree/python.gif | Bin 0 -> 153 bytes data/images/tree/tk.gif | Bin 0 -> 110 bytes data/images/wizard.gif | Bin 0 -> 1972 bytes data/images/wizardcards.gif | Bin 0 -> 1710 bytes data/pysol.ico | Bin 0 -> 2238 bytes data/pysol.xbm | 20 + data/pysol.xpm | 49 + data/pysolfc.glade | 1491 ++++++++++++++--- data/pysolfc.gladep | 10 + po/games.pot | 56 +- po/pysol.pot | 927 +++++----- po/ru_games.po | 69 +- po/ru_pysol.po | 841 +++++----- pysollib/actions.py | 16 +- pysollib/app.py | 13 +- pysollib/game.py | 7 +- pysollib/games/calculation.py | 6 +- pysollib/games/mahjongg/mahjongg.py | 38 +- pysollib/help.py | 29 +- pysollib/images.py | 1 - pysollib/main.py | 3 +- pysollib/pysolgtk/colorsdialog.py | 42 +- pysollib/pysolgtk/fontsdialog.py | 114 +- pysollib/pysolgtk/menubar.py | 10 +- pysollib/pysolgtk/progressbar.py | 14 +- pysollib/pysolgtk/selectgame.py | 4 +- pysollib/pysolgtk/timeoutsdialog.py | 1 - pysollib/pysolgtk/tkcanvas.py | 30 +- pysollib/pysolgtk/tkhtml.py | 8 +- pysollib/pysolgtk/tkstats.py | 1 + pysollib/pysolgtk/tkutil.py | 16 +- pysollib/pysolgtk/tkwrap.py | 3 +- pysollib/resource.py | 3 +- pysollib/settings.py | 18 +- pysollib/stack.py | 5 +- pysollib/stats.py | 2 +- pysollib/tk/menubar.py | 1 - pysollib/tk/selectgame.py | 4 +- pysollib/tk/tkhtml.py | 6 +- pysollib/tk/tkutil.py | 10 +- pysollib/util.py | 3 +- pysollib/version.py | 30 - scripts/create_iss.py | 2 +- setup.py | 2 +- 277 files changed, 2727 insertions(+), 1255 deletions(-) create mode 100644 data/glade-translations create mode 100644 data/images/buttons/bluecurve/cancel.gif create mode 100644 data/images/buttons/bluecurve/ok.gif create mode 100644 data/images/cards/large/01c.gif create mode 100644 data/images/cards/large/01d.gif create mode 100644 data/images/cards/large/01h.gif create mode 100644 data/images/cards/large/01s.gif create mode 100644 data/images/cards/large/02c.gif create mode 100644 data/images/cards/large/02d.gif create mode 100644 data/images/cards/large/02h.gif create mode 100644 data/images/cards/large/02s.gif create mode 100644 data/images/cards/large/03c.gif create mode 100644 data/images/cards/large/03d.gif create mode 100644 data/images/cards/large/03h.gif create mode 100644 data/images/cards/large/03s.gif create mode 100644 data/images/cards/large/04c.gif create mode 100644 data/images/cards/large/04d.gif create mode 100644 data/images/cards/large/04h.gif create mode 100644 data/images/cards/large/04s.gif create mode 100644 data/images/cards/large/05c.gif create mode 100644 data/images/cards/large/05d.gif create mode 100644 data/images/cards/large/05h.gif create mode 100644 data/images/cards/large/05s.gif create mode 100644 data/images/cards/large/06c.gif create mode 100644 data/images/cards/large/06d.gif create mode 100644 data/images/cards/large/06h.gif create mode 100644 data/images/cards/large/06s.gif create mode 100644 data/images/cards/large/07c.gif create mode 100644 data/images/cards/large/07d.gif create mode 100644 data/images/cards/large/07h.gif create mode 100644 data/images/cards/large/07s.gif create mode 100644 data/images/cards/large/08c.gif create mode 100644 data/images/cards/large/08d.gif create mode 100644 data/images/cards/large/08h.gif create mode 100644 data/images/cards/large/08s.gif create mode 100644 data/images/cards/large/09c.gif create mode 100644 data/images/cards/large/09d.gif create mode 100644 data/images/cards/large/09h.gif create mode 100644 data/images/cards/large/09s.gif create mode 100644 data/images/cards/large/10c.gif create mode 100644 data/images/cards/large/10d.gif create mode 100644 data/images/cards/large/10h.gif create mode 100644 data/images/cards/large/10s.gif create mode 100644 data/images/cards/large/11c.gif create mode 100644 data/images/cards/large/11d.gif create mode 100644 data/images/cards/large/11h.gif create mode 100644 data/images/cards/large/11s.gif create mode 100644 data/images/cards/large/12c.gif create mode 100644 data/images/cards/large/12d.gif create mode 100644 data/images/cards/large/12h.gif create mode 100644 data/images/cards/large/12s.gif create mode 100644 data/images/cards/large/13c.gif create mode 100644 data/images/cards/large/13d.gif create mode 100644 data/images/cards/large/13h.gif create mode 100644 data/images/cards/large/13s.gif create mode 100644 data/images/cards/small/01c.gif create mode 100644 data/images/cards/small/01d.gif create mode 100644 data/images/cards/small/01h.gif create mode 100644 data/images/cards/small/01s.gif create mode 100644 data/images/cards/small/02c.gif create mode 100644 data/images/cards/small/02d.gif create mode 100644 data/images/cards/small/02h.gif create mode 100644 data/images/cards/small/02s.gif create mode 100644 data/images/cards/small/03c.gif create mode 100644 data/images/cards/small/03d.gif create mode 100644 data/images/cards/small/03h.gif create mode 100644 data/images/cards/small/03s.gif create mode 100644 data/images/cards/small/04c.gif create mode 100644 data/images/cards/small/04d.gif create mode 100644 data/images/cards/small/04h.gif create mode 100644 data/images/cards/small/04s.gif create mode 100644 data/images/cards/small/05c.gif create mode 100644 data/images/cards/small/05d.gif create mode 100644 data/images/cards/small/05h.gif create mode 100644 data/images/cards/small/05s.gif create mode 100644 data/images/cards/small/06c.gif create mode 100644 data/images/cards/small/06d.gif create mode 100644 data/images/cards/small/06h.gif create mode 100644 data/images/cards/small/06s.gif create mode 100644 data/images/cards/small/07c.gif create mode 100644 data/images/cards/small/07d.gif create mode 100644 data/images/cards/small/07h.gif create mode 100644 data/images/cards/small/07s.gif create mode 100644 data/images/cards/small/08c.gif create mode 100644 data/images/cards/small/08d.gif create mode 100644 data/images/cards/small/08h.gif create mode 100644 data/images/cards/small/08s.gif create mode 100644 data/images/cards/small/09c.gif create mode 100644 data/images/cards/small/09d.gif create mode 100644 data/images/cards/small/09h.gif create mode 100644 data/images/cards/small/09s.gif create mode 100644 data/images/cards/small/10c.gif create mode 100644 data/images/cards/small/10d.gif create mode 100644 data/images/cards/small/10h.gif create mode 100644 data/images/cards/small/10s.gif create mode 100644 data/images/cards/small/11c.gif create mode 100644 data/images/cards/small/11d.gif create mode 100644 data/images/cards/small/11h.gif create mode 100644 data/images/cards/small/11s.gif create mode 100644 data/images/cards/small/12c.gif create mode 100644 data/images/cards/small/12d.gif create mode 100644 data/images/cards/small/12h.gif create mode 100644 data/images/cards/small/12s.gif create mode 100644 data/images/cards/small/13c.gif create mode 100644 data/images/cards/small/13d.gif create mode 100644 data/images/cards/small/13h.gif create mode 100644 data/images/cards/small/13s.gif create mode 100644 data/images/demo/demo01.gif create mode 100644 data/images/demo/demo02.gif create mode 100644 data/images/demo/demo03.gif create mode 100644 data/images/demo/demo04.gif create mode 100644 data/images/demo/demo05.gif create mode 100644 data/images/dialog/bluecurve/error.gif create mode 100644 data/images/dialog/bluecurve/info.gif create mode 100644 data/images/dialog/bluecurve/question.gif create mode 100644 data/images/dialog/bluecurve/warning.gif create mode 100644 data/images/dialog/default/error.gif create mode 100644 data/images/dialog/default/info.gif create mode 100644 data/images/dialog/default/question.gif create mode 100644 data/images/dialog/default/warning.gif create mode 100644 data/images/htmlviewer/disk.gif create mode 100644 data/images/logos/joker07_40_774.gif create mode 100644 data/images/logos/joker07_50_774.gif create mode 100644 data/images/logos/joker08_40_774.gif create mode 100644 data/images/logos/joker08_50_774.gif create mode 100644 data/images/logos/joker10_100.gif create mode 100644 data/images/logos/joker11_100_774.gif create mode 100644 data/images/misc/pysol01.png create mode 100644 data/images/misc/pysol02.png create mode 100644 data/images/noredeal.gif create mode 100644 data/images/pause/pause01.gif create mode 100644 data/images/pause/pause02.gif create mode 100644 data/images/pause/pause03.gif create mode 100644 data/images/redeal.gif create mode 100644 data/images/selectgame.gif create mode 100644 data/images/stats/barchart.gif create mode 100644 data/images/stoplight.gif create mode 100644 data/images/stopsign.gif create mode 100644 data/images/toolbar/bluecurve/large/autodrop.gif create mode 100644 data/images/toolbar/bluecurve/large/new.gif create mode 100644 data/images/toolbar/bluecurve/large/open.gif create mode 100644 data/images/toolbar/bluecurve/large/pause.gif create mode 100644 data/images/toolbar/bluecurve/large/quit.gif create mode 100644 data/images/toolbar/bluecurve/large/redo.gif create mode 100644 data/images/toolbar/bluecurve/large/restart.gif create mode 100644 data/images/toolbar/bluecurve/large/rules.gif create mode 100644 data/images/toolbar/bluecurve/large/save.gif create mode 100644 data/images/toolbar/bluecurve/large/statistics.gif create mode 100644 data/images/toolbar/bluecurve/large/undo.gif create mode 100644 data/images/toolbar/bluecurve/small/autodrop.gif create mode 100644 data/images/toolbar/bluecurve/small/new.gif create mode 100644 data/images/toolbar/bluecurve/small/open.gif create mode 100644 data/images/toolbar/bluecurve/small/pause.gif create mode 100644 data/images/toolbar/bluecurve/small/quit.gif create mode 100644 data/images/toolbar/bluecurve/small/redo.gif create mode 100644 data/images/toolbar/bluecurve/small/restart.gif create mode 100644 data/images/toolbar/bluecurve/small/rules.gif create mode 100644 data/images/toolbar/bluecurve/small/save.gif create mode 100644 data/images/toolbar/bluecurve/small/statistics.gif create mode 100644 data/images/toolbar/bluecurve/small/undo.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/autodrop.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/new.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/open.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/pause.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/quit.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/redo.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/restart.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/rules.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/save.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/statistics.gif create mode 100644 data/images/toolbar/bluecurve/xlarge/undo.gif create mode 100644 data/images/toolbar/crystal/README.ICONS create mode 100644 data/images/toolbar/crystal/large/autodrop.gif create mode 100644 data/images/toolbar/crystal/large/new.gif create mode 100644 data/images/toolbar/crystal/large/open.gif create mode 100644 data/images/toolbar/crystal/large/pause.gif create mode 100644 data/images/toolbar/crystal/large/quit.gif create mode 100644 data/images/toolbar/crystal/large/redo.gif create mode 100644 data/images/toolbar/crystal/large/restart.gif create mode 100644 data/images/toolbar/crystal/large/rules.gif create mode 100644 data/images/toolbar/crystal/large/save.gif create mode 100644 data/images/toolbar/crystal/large/statistics.gif create mode 100644 data/images/toolbar/crystal/large/undo.gif create mode 100644 data/images/toolbar/crystal/small/autodrop.gif create mode 100644 data/images/toolbar/crystal/small/new.gif create mode 100644 data/images/toolbar/crystal/small/open.gif create mode 100644 data/images/toolbar/crystal/small/pause.gif create mode 100644 data/images/toolbar/crystal/small/quit.gif create mode 100644 data/images/toolbar/crystal/small/redo.gif create mode 100644 data/images/toolbar/crystal/small/restart.gif create mode 100644 data/images/toolbar/crystal/small/rules.gif create mode 100644 data/images/toolbar/crystal/small/save.gif create mode 100644 data/images/toolbar/crystal/small/statistics.gif create mode 100644 data/images/toolbar/crystal/small/undo.gif create mode 100644 data/images/toolbar/default/empty-large/autodrop.gif create mode 100644 data/images/toolbar/default/empty-large/new.gif create mode 100644 data/images/toolbar/default/empty-large/open.gif create mode 100644 data/images/toolbar/default/empty-large/quit.gif create mode 100644 data/images/toolbar/default/empty-large/redo.gif create mode 100644 data/images/toolbar/default/empty-large/restart.gif create mode 100644 data/images/toolbar/default/empty-large/rules.gif create mode 100644 data/images/toolbar/default/empty-large/save.gif create mode 100644 data/images/toolbar/default/empty-large/statistics.gif create mode 100644 data/images/toolbar/default/empty-large/undo.gif create mode 100644 data/images/toolbar/default/large/autodrop.gif create mode 100644 data/images/toolbar/default/large/new.gif create mode 100644 data/images/toolbar/default/large/open.gif create mode 100644 data/images/toolbar/default/large/pause.gif create mode 100644 data/images/toolbar/default/large/quit.gif create mode 100644 data/images/toolbar/default/large/redo.gif create mode 100644 data/images/toolbar/default/large/restart.gif create mode 100644 data/images/toolbar/default/large/rules.gif create mode 100644 data/images/toolbar/default/large/save.gif create mode 100644 data/images/toolbar/default/large/statistics.gif create mode 100644 data/images/toolbar/default/large/undo.gif create mode 100644 data/images/toolbar/default/small/autodrop.gif create mode 100644 data/images/toolbar/default/small/new.gif create mode 100644 data/images/toolbar/default/small/open.gif create mode 100644 data/images/toolbar/default/small/pause.gif create mode 100644 data/images/toolbar/default/small/quit.gif create mode 100644 data/images/toolbar/default/small/redo.gif create mode 100644 data/images/toolbar/default/small/restart.gif create mode 100644 data/images/toolbar/default/small/rules.gif create mode 100644 data/images/toolbar/default/small/save.gif create mode 100644 data/images/toolbar/default/small/statistics.gif create mode 100644 data/images/toolbar/default/small/undo.gif create mode 100644 data/images/tree/emptynode.gif create mode 100644 data/images/tree/folder.gif create mode 100644 data/images/tree/minusnode.gif create mode 100644 data/images/tree/node.gif create mode 100644 data/images/tree/openfolder.gif create mode 100644 data/images/tree/plusnode.gif create mode 100644 data/images/tree/python.gif create mode 100644 data/images/tree/tk.gif create mode 100644 data/images/wizard.gif create mode 100644 data/images/wizardcards.gif create mode 100644 data/pysol.ico create mode 100644 data/pysol.xbm create mode 100644 data/pysol.xpm create mode 100644 data/pysolfc.gladep delete mode 100644 pysollib/version.py diff --git a/Makefile b/Makefile index 6c2531cb..2f182e32 100644 --- a/Makefile +++ b/Makefile @@ -27,8 +27,11 @@ rules: mv data/html-src/html data pot: - pygettext.py -k n_ -o po/pysol.pot $(PYSOLLIB_FILES) ./scripts/all_games.py gettext > po/games.pot + pygettext.py -k n_ -o po/pysol-1.pot $(PYSOLLIB_FILES) + xgettext -L C --keyword=N_ -o po/pysol-2.pot data/glade-translations + msgcat po/pysol-1.pot po/pysol-2.pot > po/pysol.pot + rm -f po/pysol-1.pot po/pysol-2.pot for lng in ru; do \ mv -f po/$${lng}_pysol.po po/$${lng}_pysol.old.po; \ msgmerge po/$${lng}_pysol.old.po po/pysol.pot > po/$${lng}_pysol.po; \ diff --git a/data/glade-translations b/data/glade-translations new file mode 100644 index 00000000..020d0e77 --- /dev/null +++ b/data/glade-translations @@ -0,0 +1,71 @@ +/* + * Translatable strings file generated by Glade. + * Add this file to your project's POTFILES.in. + * DO NOT compile it as part of your application. + */ + +gchar *s = N_("Game Statistics"); +gchar *s = N_("Game:"); +gchar *s = N_("Won:"); +gchar *s = N_("Total:"); +gchar *s = N_("Lost:"); +gchar *s = N_("Current session"); +gchar *s = N_("Won:"); +gchar *s = N_("Lost:"); +gchar *s = N_("Total:"); +gchar *s = N_("Total"); +gchar *s = N_("Current game"); +gchar *s = N_("Playing time:"); +gchar *s = N_("Moves:"); +gchar *s = N_("Total moves:"); +gchar *s = N_("Minimum"); +gchar *s = N_("Maximum"); +gchar *s = N_("Average"); +gchar *s = N_("Summary"); +gchar *s = N_("Playing time"); +gchar *s = N_("Moves"); +gchar *s = N_("Total moves"); +gchar *s = N_("Game:"); +gchar *s = N_("Top 10"); +gchar *s = N_("All games"); +gchar *s = N_("Full log"); +gchar *s = N_("Session log"); +gchar *s = N_("Set timeouts"); +gchar *s = N_("Demo:"); +gchar *s = N_("Hint:"); +gchar *s = N_("Raise card:"); +gchar *s = N_("Highlight piles:"); +gchar *s = N_("Highlight cards:"); +gchar *s = N_("Highlight same rank:"); +gchar *s = N_("Set colors"); +gchar *s = N_("Text foreground:"); +gchar *s = N_("Highlight piles:"); +gchar *s = N_("Highlight cards 1:"); +gchar *s = N_("Highlight cards 2:"); +gchar *s = N_("Highlight same rank 1:"); +gchar *s = N_("Highlight same rank 2:"); +gchar *s = N_("Hint arrow:"); +gchar *s = N_("Highlight not matching:"); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Set font"); +gchar *s = N_("HTML: "); +gchar *s = N_("Small: "); +gchar *s = N_("Fixed: "); +gchar *s = N_("Tableau default: "); +gchar *s = N_("Tableau fixed: "); +gchar *s = N_("Tableau small: "); +gchar *s = N_("Tableau large: "); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); +gchar *s = N_("Change..."); diff --git a/data/images/buttons/bluecurve/cancel.gif b/data/images/buttons/bluecurve/cancel.gif new file mode 100644 index 0000000000000000000000000000000000000000..808d3535f89f592b61d57ad8da278f8fa08f3640 GIT binary patch literal 592 zcmZ?wbhEHb6k!lyIL5#*dD`TZgt)BStlj%}w|2C~#>Z+)OK+;GoRX9%DIu|TpHAuk}{julKa7{E4&UBU6(QVc`W! z7Ay)4`Dkx<(9j^oQ2%jB;T>ZmS6-e+)>h9f%SSPJ=iub3=jP$%=ar245dodVh?b#!#~ z_IGgW8))em8W|az%xz~eH8VFfw6N5*vNl;_V{2q#XYXL;(8Tf4?Zlx8GL|(q3ZE8t lOjL5eA{rFHc#-=CT2S`DbGz$7CJCk0|4LR9C!c# literal 0 HcmV?d00001 diff --git a/data/images/buttons/bluecurve/ok.gif b/data/images/buttons/bluecurve/ok.gif new file mode 100644 index 0000000000000000000000000000000000000000..e4e6362184761b3258ec08a7e22b69cfab4f78eb GIT binary patch literal 567 zcmZ?wbhEHb6k!lyIL5$GQC(qbX1aU-ZdF~?>Uq@~ni@_nPF?G}CO(_M?ai5$n>Bgb zWFvc{y}$Nq?b8rlD#W6|ymsSSDQT(o_t$6L%M{usATW_Hr9Nfz&&_N{Sb6qva}{w) z%1iEfzsK~ZDeGw#wiZ?i8HujtxrQ&vP`qG`g>LSH7J{ZOwm?pYS9>#6o1onHlSU zte^OCqIS4;YHK7IkgIYPoBqM~AKQ@O+?BqgP!*R=I4VUm%R zlb2MO(yqupg^^uJSzbl8Lrq;mgHcmLOIt^ENjsyio|3+Sp^>o(cc+l4nVz|YrIoc> sm!P7Jt)88Qy~9*NR!0dZXBP`jEe8b-gT{KED^4diEIjPk$iQF?0JM8C5dZ)H literal 0 HcmV?d00001 diff --git a/data/images/cards/large/01c.gif b/data/images/cards/large/01c.gif new file mode 100644 index 0000000000000000000000000000000000000000..efe55528ef6ba00347b9e3b60fe592d01e1bd7f1 GIT binary patch literal 816 zcmchWJ#ND=427R85AG(QOGdW_iVPiOX-UzgQ-6-po5=CSe5Niz7Q2s>lfX`qv04Pm zq~6Cz`Qz(-_wxOONBorFN+}J)FplFiO%m&RIF`ns#Ir<_3p;)?mr=Fc%Gk#kcX7Gl zufv%9b!P0XzbfZt*01jr1zW9zvMiSBb94*BWxysOsJcQlGvFSmRXsx#0yq+s&HD?5 z$%K}Uc)d+2OcinpZBk>DVuPS51yZdZsFFp;lr3C>!IqsVh3yk#=;yi)b zipGPW=drL(AQ~^6f~&KVI;!7Sw&ph;7IT9NVUU7A)SW9X5a`fmV?;LghfI-L)2cHD p8=Zs>#D-!u7ojlisq53sZVg0CQ>A(P?^nTpVfC`<-P;{re*v()s?q=e literal 0 HcmV?d00001 diff --git a/data/images/cards/large/01d.gif b/data/images/cards/large/01d.gif new file mode 100644 index 0000000000000000000000000000000000000000..7442e1760d90e81f6f3541b69dbfa89628374863 GIT binary patch literal 816 zcmchWy-vh1499(*pauM zn==}HMU7m? znGQXP2}I)+siNS9JM_GY#yihQbBM-Su8VzxDaf1xVK8;#B^0Cgfv?!<4s;ctN|8d< p>C}3t6t=5$>M5uc#$PeLii$aPA@j`te--pEEM7Lf^QUvT`vFH(*m(c| literal 0 HcmV?d00001 diff --git a/data/images/cards/large/01h.gif b/data/images/cards/large/01h.gif new file mode 100644 index 0000000000000000000000000000000000000000..7e4245b0ddcc60cd1d4e03a8966cc9ddefbf6003 GIT binary patch literal 816 zcmd5*u};J=4E2dtI!31%x)xQ4fu&Lg5KGfoP&P(Z{^SDvkQ?}reiI8~NwJgOq4p3n zw^)Aidwzb+Jv`pu+`e4G1$^YdzW}h`zmMY>LYSsWAb{#C+iW0*YiVQ_&cZXmj=Sx$ zQ)mzP z>t&eTZDvTy-ISx4a(hj3P8A&6e95x*g>JOhjygka7Ad^A1x#}E*~6K7In8`5u~n7!~6 nwxdv!-0g)ZgfCrlJ>QXg3&Dcsa{TwLz<*(PvvDnN5Ab>g+jy&F literal 0 HcmV?d00001 diff --git a/data/images/cards/large/02c.gif b/data/images/cards/large/02c.gif new file mode 100644 index 0000000000000000000000000000000000000000..d815d101e68f040321a32afb469c25de7c2f4fbc GIT binary patch literal 816 zcmd6mu}*|Q5QhJSCBcq@f)WieS6EP3U~D*UqIaF8t#7iN_aImJAUuogh;Vy8- zTAIzy&dmSKzsvLPsd{+3#SK0q@aLR69zVLS>-&Bf1_=Sz-_{sJxRZ_KBJ5u|mv`}e ziReH?TbeKUEl94u%%p>@FUq-@t(QGT!Nv$E)CfVezuryO%3G F{s4KC%_#r? literal 0 HcmV?d00001 diff --git a/data/images/cards/large/02d.gif b/data/images/cards/large/02d.gif new file mode 100644 index 0000000000000000000000000000000000000000..b84eb53c0b38542b7303ad3cd096c7b513a6ac34 GIT binary patch literal 816 zcmchWJ#K?Q5QWDINKQGh#kNE!a*+nf1yLHnql9!R)8;0|_CZ|uAe_lflxE5NP#7G! z49#dpyYGGbc6ob$EuX(0;Q`Ju@D~7%$5Y?;A%tNVWCW1?M2iK)@Fb0_g}d+xu;p$! zEioO4sHJIvzlOA}u2<3_s;;)PSX9k5#UWbGjLa6M?qhcYBFFudS|O4>j)1ixDMUv} z(^6njhsLB7j*^waq`tVMSY^_!J&qPe;R;ElMC@=Q+7^ZD8a9+6s`MCzP&gfWWHE~( zN7*MUJ=QE{QMgQzQXZ;9t5GoQRpU7Q2sRM~!7*QG6T4uFg3N plhL9Sd6AZvLsANdUZXG>(Y|pZ)9u{-_p9K4VfM25oqycJ%P(UM*!2Ja literal 0 HcmV?d00001 diff --git a/data/images/cards/large/02h.gif b/data/images/cards/large/02h.gif new file mode 100644 index 0000000000000000000000000000000000000000..2f515dd6bad906e3f5de43b07d82a8afd4aea986 GIT binary patch literal 816 zcmcgryKaL(5L_!DIpx6>v_vR!k>;c;9Hrs0N}Mib+Wd*J`4AWR5WXo*l;+4jz!Ere z8Jg1$yEC)H@$&k-ef+qGJNSx$o&azgO9IAq{V46w~iK1}nRzPXxVA%z&OHpt&y}R;3rk3--f8PrF7Zx|0 K?)lp-JpBU8AJTXL literal 0 HcmV?d00001 diff --git a/data/images/cards/large/02s.gif b/data/images/cards/large/02s.gif new file mode 100644 index 0000000000000000000000000000000000000000..3caf6f3ffcb6ad2395c28b4aebeefeaa6d984d9a GIT binary patch literal 816 zcmcJOu~LLE5I{E&X1I7Ow*E=D<3q0SL--~e$0oSD2`Zdp zC(TZFHoGq`;oV}N$xVxIB%m^JOVo2M`ZB};Kvac{3e+YYhzLThRrR4|1O zvZZcpL@%Y~N{V)vUILa1q`DK#?DQ+Z?T&#u{&gE!5 zUsCFbXixJ6zim>e&NHdA)mb?=v(>VvDA@HvD9U24ev1Bpa5yNn3ushbAxw)}q61K< zx}ImU6pZ$B1CtfEV9=P!XIvMp*f50P>Rm~lstbhU&D9&Ql{&eP+66BV zMVlGyCJ5gdAB}-7pYcKhi5EOz0v$eDk$a`rab@^O!Ad?xQox%hiYc1T{>Q7}e_`>m K*}LZp+sBxgB5u`Py}D{L;Iz}Nt{QS2;jeUn>{2f4xr;hAiV&Eovom;(%@ zG@F^7{pL5{E>F*o)&1Ko+`wlH^m%~u`C}Lc@BKKAoC3(dqs<0lxZ{9p;mW@P94XpP zm)Q2!+RjcF_$z6T^|I3TQN1`$Vo^QUNm1n-l?Fo#r6_WCq(XFfU~RP`b4n+v<4S`Ki3KYZDW&9|J9KKrZUv$%&>dt>foMzDO60=u0@3tos~)HoUrM1~=(sYx kTG0k$elJoe&@>m7w6}60i);PwS3&>6>}AtCf4PQ-AMF&`djJ3c literal 0 HcmV?d00001 diff --git a/data/images/cards/large/03h.gif b/data/images/cards/large/03h.gif new file mode 100644 index 0000000000000000000000000000000000000000..e15b43e65dd7695efee8cef2ff38f61b8dff81a9 GIT binary patch literal 816 zcmcIjy-ve05Wb2;D&sjBvIbSC14|?iMJ)L_LD(2sd6Sy@K|1gtc_tRb;&5ljDoIf{ zx>)z=z8`;apPnCg_iwjw1D`4I&jB2dAHy&>=f-gq2%!813 zX)G#M@gWSUwkM|yVqTySeTtmamWV-Q&VA<~}C zgf3Qbz>fNyHAN++u&QFQO#nG|tU|=B_J00KA;gwL5M?6WN#~~!JSo1QfFVSyO)HZ& zVjHVyY}Wcoi!Ir&-(84yBWSFm^(n}UGB{O%MI$So?~e-~#EYFaV-+(xi~ZlL;Qzwn LW%E0KxrT=yeks!( literal 0 HcmV?d00001 diff --git a/data/images/cards/large/03s.gif b/data/images/cards/large/03s.gif new file mode 100644 index 0000000000000000000000000000000000000000..3685e57e410adb18b1dc385336a372436ea2291f GIT binary patch literal 816 zcmchWy-ve05P&bPBZV!4hm3$Ml!2i`ha#3ZJwdxMvhpTQ$%Ay@LGny2h$Z3f?0}pi zMzUCE-OuOG&g0=>d-rk!*YKVLect=i>1`N>aU7><;w^xyPn~6u!z~A#3#;*&aw#g( zCC45S_n0p5+a~(vJQI7}oRw2E-7I_Z1YIl!g|U!MkI^3x7LJiRA_;`*pcNKV1|)&- zZRYkkQqv4787~wXl|&mdvXkR7g~ht$@hjHU@^J%&DQVM+yEXR?DvaMDZiCR8S__5k zN~+UQHZ=<>)FsuacmuDqiVaY+E?x`Q1r-%Rn0QxwmLCX9xatV7o*`Q69byHpD~+5_ zAY88;bM_i!`3Mvq*#$8rDvX0##7HWO6%|l8R`I;M1& literal 0 HcmV?d00001 diff --git a/data/images/cards/large/04c.gif b/data/images/cards/large/04c.gif new file mode 100644 index 0000000000000000000000000000000000000000..1fcec84d16b9e3e0f41e0598638301d080ca2f5e GIT binary patch literal 816 zcmb`Gu}*|Q5QhH^OM=~+P+X~o7z+yu3yjT@o9NkHY3rM;kq5cL2jQ7)j14$5yGY>7 zRnkmmnVtWef8go)vAKV}#uYwu@DoBf96tKKABJHZM>zs6zpXLIaVv?`A{$<~ma}3R za_Wd^N6Ub}4k`HKO6sgXy3Wn4U-uLRTdahlESBmiI|WgNR#@%=wyK^WOe@(tP^)@^ zK)a)XL3wyTQ&iXpjAci>j;j=9;bIBfq{c)FI4#K#YV|;^sGLyTzy%mI+)OFTAQW7w zW^X4eoMDRJ4J0e7+Au_{WsgcqDr%lH4^*_Y?t)8^sr2A1%d1AjjN$Kyxe_ul(q7^DPXzq8p4a=4X5dg02y0_-`P zry-{U5p|RX_^U|!`n;14S$%e##j<*;DGu3uVias4b&uIa2-hYo5u#`VOA|tbz`Kq- zi7CA&9>?>d-3fmSB6L3Fqk?Jx>d3MryWD@EmmqST^677G-% zX!)FU8f;ihA*!ZOhy@qd;?N01*{rOzq!1+|IccfTZT0dBu`Ha`%%O&HAL%H*#)T+_ nI_c%(C;~+|KT;4W{i#S77jn|n+5h*e;D2HAviY6AT*Kopu!FZ0_;CQo3LQo2MuXO*W4r^2q`PYD;&KxGgaJ48{oiXm+6=P_A;$lJYcxg`_pUNRR5fj82k_<$k?h@CQ8 zR<*%i#Gg@!b>+qPuPlT@@@+$jAH-9Lw|^I-AW#1-#wcRTT>i(c;D2Ftv-zGsp2O`Y DO4!lv literal 0 HcmV?d00001 diff --git a/data/images/cards/large/04s.gif b/data/images/cards/large/04s.gif new file mode 100644 index 0000000000000000000000000000000000000000..1f53a577e6007b33ad7e9a12f3fabfb265cccca5 GIT binary patch literal 816 zcmb`GF;2uV5Jks|BZbaLE>Z%rs3=lU1kuFW5iA|$w%o+4%|W){AUP8aqDhz;JB1yz z6=|#)+4Gz3aX2b(R7f-UCmarXy=Irp`&+DQ4^-CsXlzy{t@;O`UQczo^qei(*v97O`iK9a=(Qn-|j)WX^D2yo!t zGG0>Zh^V1>fxkpL6!S{zl45q8&5~m3DIJpKq>;6SxO>>0fWS>#MJx(|Ee5ePB!y_R zikf<0Q-{W+6fV@z+V8BPP`J`ct~}z41|t-1YuJ0_7PWY56o?v=h^W>^@hlWhMUU)h z6ohh4Dm|9JQLNN@&EihYEQ)O=NHGL8d8Q>fwzbZw5LF(c_#R#%%5KF|3$=~;9#N=` oj-*lKRS3pTu(wj6uY}@9q!Sl1yVn1H75pzuUN*n;hjY030_3LIYybcN literal 0 HcmV?d00001 diff --git a/data/images/cards/large/05h.gif b/data/images/cards/large/05h.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4ab65d5381f271aaeb42d8e2a3d5cafa2b2c669 GIT binary patch literal 816 zcmcJOzfQwI48~oNNM&?#L)KIg>cA2y1BfMmEC?GTD{s<+JV*x~B+tZxST5MUE7GNi zjV_kI*q?v4t`Cp*H@7cWu!D~j_~!tQ$M<=jopZ~why+l6C7TVTa4m_{!i9SVIB>R& zLrN17jT8s?O{7D6UP)8Zp0%@C(yl#aLb6>A@?#;M9}ecaW)V$+_!cNkC)g|^i`pm@rV}?4MC1~oFnhr^z7mm3^c0Bvt%qlN3_UROvST{P4$!PSa*q7W#xmXV@Dg=#H$s&yzFDRmi=qo)1 zH5LaE{VBRBx^2-_nIoxu%z0>(B_Rm}&8JE46iFb$ zMN830q6SK7FBC`YJ94Cxahbw4ik-1d9jh^g)q894Zo}GQ1;863R%&QP(n`@Yg-vF& zCR-6YXt#KlHn2}ttkK*c_GvAS?x_`}!|2nlcowz7yNHaN?EyANh}N?eB{aSBGM_-y z(R9oiEy(eiD3B?ZR`>=aspip0N&!Vnl|RWuAr^|LzWX0v1^o+)FPql#vVwZH+;U8(By$qT!Wud6g_f zOgkcKXc_R^CV6+7NjvLKuCthRYfW*m$;v3$V(C7u{(vaZDfO+#R^1iCwnhQpfl}QS zqRX>~h6V=Z;+<$KMdpeNfw9~Xr{xL--^fA=w@EF8;)or=mujJ{09sDjAoVb)SWGF< znwlEU)Mjs0lgQ@+bDY4WX`M)iOg>}j34(**>a4iH34%kxo6%HYfY7m2DBCoeADgvE7oi}N)Dq_D3dOuSoc)hi!T-YQWpnRd&T;<(CQHkI literal 0 HcmV?d00001 diff --git a/data/images/cards/large/06d.gif b/data/images/cards/large/06d.gif new file mode 100644 index 0000000000000000000000000000000000000000..6afc6931f5d55e2af1450e6f421b840c6a4465e7 GIT binary patch literal 816 zcmchWy-veG498uONM&?$!>vITVql5XA&4c{T99sxth`AtsXQHRE)6fV%6!eqWUQMgdA#oKrsTL^{ohFu~?+=;e61!5x<5=50&3ih^CI}Lhd zF{OxsrHLfdV_?k@!lW|}796Bno`N%_?i>O&WrK02a~cH2pk72ZwhwH1KAqOgmr*pi rQmBlMWDCi&(gxIuk%Cq}2*qi;7Zx%tXYaqSg8zltW%HfCT*Kop*d5pE literal 0 HcmV?d00001 diff --git a/data/images/cards/large/06h.gif b/data/images/cards/large/06h.gif new file mode 100644 index 0000000000000000000000000000000000000000..021073eed393c8bba78456e66a37fb8a1b09c2aa GIT binary patch literal 816 zcmd6mu};H442E5iNM&?#L)M@QF|b6sp@=1EEC?GTD{s6mxPtc-`0)Uz)7vl%-urPJMFJ>4lhq1RxRpd|;ljTF>^WP{ zLrOgnbu~JqpAF zk=1r?Xd?xi?Wi*x#ATvz4O^29B4bYwYHf9%t`s4pk8-hY<;)`lvPfOV3yK&a$TgC& zbt_^x3ha45$!w+JBb>#t6bkWRskGD1H{Ry0!iEh@!NHof~Fw}StL#m(k> I{(K4dUqn&SZvX%Q literal 0 HcmV?d00001 diff --git a/data/images/cards/large/06s.gif b/data/images/cards/large/06s.gif new file mode 100644 index 0000000000000000000000000000000000000000..ce3d111ce627fefe9e95f9b3693f27b9e56a78bf GIT binary patch literal 816 zcmd6mu};J=42B(=N@eSi;l_d@#K3R^LlH~MSx`1cR^FuP-Gkh~gY=nL5KD^f_zty) znCW6Ub$);T-99}()^~4La0wqd(9`$*e*Zp>V~lZ{CO!hV__D@84mX@|EoAYPYAGw` zA;%peb~q34+adPNX(jG#b8?-;Y_rtl4z^e{N^N1@U9&$RJPb;$NCIJlNr0|QNCGib z?xDj-q6SvdUMO7SCA%d@HZm?#&<)4!Gq!2NYD}TnUc6hgwpalWh@wu0)+8+y5KN1m zRkM>OU8oo)(+zA@(>5#}bS)+IQwR!9cg3?P1O-pH*%n}Zgb#T*J6y6(nvyqrfAuUqie?V{#wXp0w8g*9)?yr{F8&Imd zLiqcnKGMLT+`OA9EG3n|SWd)gyF!suF-h1$g9#KiND}zHW)PxCT9#DUdKgHt5Jf97 zu~NfsVieXjN1AUSMj>bvl)T61GzwElv3OV9l0pvV8)q$lFL#rZdn1O5`}P+xY^F{>{==V4i$&I}IOJTX#Rn7YU63Iw8SyWh3~feu?08$ATV zb*Amf^H77zBov0qmB5sC{Xp!Ta1Vn zd6-6Fgei1d48t^vg3-98WN{rFdWoV?vIJrkIV*IXEJ7fvg?vZkP`4uxm22a!G>Xqi jQN)1a%PGZKJX6?YSyvX4bpHRX;C~^x*?iAmZejNgGB(-G literal 0 HcmV?d00001 diff --git a/data/images/cards/large/07h.gif b/data/images/cards/large/07h.gif new file mode 100644 index 0000000000000000000000000000000000000000..81f6f3b5b4be955472554c107c50cbc85495df94 GIT binary patch literal 816 zcmb`Gu};G<5QeWJmCAUDhpa^r>cA2y1Bj(*PLOVlth`Ar{2(28kUSF$VoCXZwoB78 zlI7&z=l{MtJI~vv`-it%x}ncG;Twte`;TE5#&J9x4qhT!erK~8&FRiBd@fy$uS7en z7Sk{nCnCK}1N|k+Zhe_4E?Zw5hgr5h_w*IA#aW?HmZsI?>Il)DmQ@I5yMb8LPKw$W zQV6!Zk-lMDH(b_mQ3%_aO)q0^nN7+39x03zD-nnc(K6gTMI~h`&P0*XS)eej6B9C- zQ80`mhgqY?aiB}1ur16CJiSYzaHj2gse%aXIEox-;u@_7vj8DE$dFQaYi(X3R=y>q z^o%3{j+}*$4z%_gpKwpgUeE#VBKBY7a1E&D4zMU~pz%2({3ybtZwG@@p zqrej)wm3cDwHyquOBL^9mDLmGJ+b`IrJ-1K_7bv+F@3yS1R@e>^cWNk$sTCbF zxokFxsTD39TC{ls@1qrrhFxAuMfb!C!<;_vif0jsdPQPu!nJPz+Y!RA7`}$4tGvu7 t5PtN>fmrdCDU2F4wE_)Ou*`TUMLA7oD`v@m@+#k= literal 0 HcmV?d00001 diff --git a/data/images/cards/large/08c.gif b/data/images/cards/large/08c.gif new file mode 100644 index 0000000000000000000000000000000000000000..373ac362ff56d5aadf82a60f1f755f955c8e5386 GIT binary patch literal 816 zcmd6mzfQw25XL_@j?``*I4S9OLGny2h$Z3fY*LaU zX0lj!zCXYF&UxHE)VD8}xWIc3{z3?c!&}?7UDx$}FD~Hx(;9;uS7JykvhJB<*_w}! zoc2Vtq49y=oD}?NB<-y~N#|nLPismCJD)U)Z87eitUn+M?3DT@V6EL1V%C^@v0i~n zyDLOf%~l)g7?g+iQd=pkk1&=M@j9+haE8KIkx5$!1xH4h453mDR0?w)RzxLSfI-cZ z{h;7T6??5U`OY{-8#a(23TH~97|C~BTDmW*(nVa|mE;W&1>ynQb?6d_p@=0%El4*;R^Ft6JV*x~B+tZx7`Wg+K{N@< zNEXYVe4l@3Umo`N+neVrxPWYl%-S|L_7-Wf}BxgCW1??GPENn<9G&Ud;Jv&QV-{eppk zv2-G`l`zn6qU@^EO6j8Nq#b5awe-{p(Rwjx982N!Dfs5F)8sH@fp91hNDNRB;A@tZcba zaa;v=uC}Z!EPTy(q5H*3G}tQgO{x@PrWWjja8?JRQJCATa-s;^4-{cLvj4jk_!ky8 L8~6PAobG-AINH#~ literal 0 HcmV?d00001 diff --git a/data/images/cards/large/08s.gif b/data/images/cards/large/08s.gif new file mode 100644 index 0000000000000000000000000000000000000000..616d54d946d10c0d52bd38bc88bd88199570c890 GIT binary patch literal 816 zcmchWu};G<5Qfi*Bc+=M4_!eK>d+xV3_&aoJwe$RS$PwO=0Q5}AbBPh#Nu#wHX=z; zN3vLU&i8-!|HZRLK29qQ}@DRO+*ri zuFl#$25PEcE%HL4U4*$IM|LtUQ_u~8$=RkIkINKP$x9{P)!bXGP}jaiY@(qJwVqJu zWOnRH?-Vm-DS<<>qB3fO*riwu>9M-4HwJr~vf_Kc5R9820O}tI5SBHxov|{XKtN<6 yBw*bBlP6>Bl*`NtYg9BwO4(TP07^$NlgQ5mLK4%;|NkoJUs!zE6wC7p?!EzuQOlA5 literal 0 HcmV?d00001 diff --git a/data/images/cards/large/09c.gif b/data/images/cards/large/09c.gif new file mode 100644 index 0000000000000000000000000000000000000000..084ea6f2c2458c5d7bdb7a61bd7c631b0312bb49 GIT binary patch literal 816 zcmb`Gu};H45Jbn$SqfcBN++^V3W}6LG){7Y&{3x4PtGA9l7bKMH_;#(o7p+Xk{v{a zo7JxOcHWN9&o58whqpT{@R@;62;qGGsO!3Enzn7N1kAr(k|4vqCDw~cb6_vC=`dve z@yFktJpU36|VU6i{HN z%-(6H_f>8%{TJvUiaezwv6JsOTIxiKxcXLHDXK3R3cj1X11l~lh;0XvSF;rB3&cFK z*cAEmWt)*=pB_dDh0e>ZFU(YM4&Fa~87R&0XrZ{BFiBYtL)P0ODKva0#CM*hJ0**-+krd)k zn#NPlq6Qm2>}tKffO^0N7zzh1-BFOV|W1^@s6 literal 0 HcmV?d00001 diff --git a/data/images/cards/large/09h.gif b/data/images/cards/large/09h.gif new file mode 100644 index 0000000000000000000000000000000000000000..04291df259a3287220317dd1e54cfaee21f9235c GIT binary patch literal 816 zcmchWu};J=42FH8m5$MEhORwTh=HY21`tcrT2MAdR^H?Sd5{};kUkR&Vo9-++)3>r zM!H1)WB>l*q>oPzw|B2su!GMW`11gV!^bpD-uro;MFOb5v&{x_xRF3|;ljTF>^a&l zmz*3CjkH|gH<9+;c_z86J1b|itXq3ZhitoQ6x+hGdy4*mXz*RA%hplZN}~XwENU7x z+E!!LvP*z?t5rXeFD#;}PznQuGO8kC5m~gzZbG5Vh~!ifkxwQRoQb>_GZDFA7zL6w zq(eCu42c4rGBhgo6qh4~HEc~y6d5~0G-~)fRz)+6G2|6enBP(wbmpn)Z9wg7i!m&6=vU}7n z$3zyL6&&iLzNG+L?>1lx>{2pQ!fq{W-9s2|+7RKI*M$Z5wzc~Q50IcVn1jUeadc;|KnBgUpRQ#^zQit F_urMw#z_DG literal 0 HcmV?d00001 diff --git a/data/images/cards/large/10d.gif b/data/images/cards/large/10d.gif new file mode 100644 index 0000000000000000000000000000000000000000..4820eb10c5cec644ef5264220933582b352017c1 GIT binary patch literal 816 zcmd6mu};G<5QeWJk;-_92d^N67`jAaC}K(C6NHVCl{aZh9;5>gl4oK;3?%$#rzJ`0 zP8Q3*&;S4V>^wd_tnXg0>5@KT!uL(I+r77K+jU*v_bL%xd_{`|#kA6i*3wz`LbSnb zIUQnYM5L1GK!1s{$&V|giSncEFpKiJrzS+pSx|_jY5Fib4Pi^!aygDw2zHI(!p9b2 zO(FPA($cyPriKHPQq-AnWePB*Hak$5Ol)Clkz32ysK*6`$+VJ1*330K^+qdong8F8Hjhsaw|6gBbV(mE;rC6n+r77K+jU*v_bL%xd_}7j#dM>E_R?AROteL{ zK0ab;M5L1AgMJfbo1b<{6Xhr4FpKh~rzS+}MbHpS$LVABH$+y-E0TH-+B(iGToi)eBrP-FB{j3j7-gWSt#D-uhzzl2+zb@PN>-TKj3VP^pfDDl4V$5p z8G%@Z$-JqBT^PrJKTxn*!&6-*3Wl{CL}1S$8W-|FHir;N)!OUMCkRvtE~w%Nkpco0 zti6i+RVV~1XM^~;-$hbld5ACcJsNCE-9!*efNl>td0 zV5IC$cQY4NP(8EXRLu1^)}H&E~PZox#&D D;J?P; literal 0 HcmV?d00001 diff --git a/data/images/cards/large/11c.gif b/data/images/cards/large/11c.gif new file mode 100644 index 0000000000000000000000000000000000000000..ace224de6ae48e8a029eaf25896c4d0dac4f3ab1 GIT binary patch literal 816 zcmd6mJx;?w5QX2$YbkUoQvyPWg2Itf7}2cp2tt>VmYXb!50WAW@tM*fnlhXFe|)B?l6yVD0#9Y1xr||X4iuiLNRP$ zumbCvOv&#!?*t*Zx+}?3K!Ld7%d8(zA)XYXMDa1tP7qZi#RN&(QuApGiDV%;EOZmP m5Wh4lEJLOi3hq>m_hJ;9r$yDDfAUrEzcBf-*}KgJ9=`!C#Ln3O literal 0 HcmV?d00001 diff --git a/data/images/cards/large/11d.gif b/data/images/cards/large/11d.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab0268931ea8a94d1508b099bfbda690f209e8c3 GIT binary patch literal 816 zcmchWu};G<5QeWJk;-_g2d|)tiKP-lt1fYJg0L~N@+P&&gLL3Q@=RS2LmlpX2I92p zNEYkP=l?$czC1lYt~YOYa0`bL_&WmZ_aA-VhY*HgkQBhpS23GG3HK66EnJ0HfE`Ek zd?~3TqL%Un&LwGAomNs;R42z-tf;1%(xI478fja|yQk<91bUaTBnV7Nr$`9`sciy_ z8dRo4k)nlNjVY{?=)oesM`M)2IB{f+=&=!PwZeEQkt9a35rv6Ki!Am>K_rzHMJ$6@ zaB?LbTD3xv&O@|I^i8~Hgs2rlr1kOC`}6Od%ggKY!{hrM+`>l={6v8L{?PY*jBywSkpOPKvc&>&xR*p~;VQlXY&ly_ zLr#H+I+_OfOQdaeUP&RV&f3{5tLC0EAzRJ{=~$RfAG1pk=xb&vY@ou*pb-Mebq>9C zSXy=&A&>#%$|IT*ad)IZZe$Tz^vG^XQPvd9C`zMJm^zTrN|Zibh4Dl#wR1yzLP4Ej zPjQ)2tW{*}pH+xiaA_WsDTE_|AS%SVm7V`WaJJ$Dil`8cKycL4c)Yn#HS z?!uECNxW+f>4TUiQ6w9Arxa@}8_iM!_g(rR)5_y2PCUis|852U3$vTe_k42=Pv5my B)29Fc literal 0 HcmV?d00001 diff --git a/data/images/cards/large/11s.gif b/data/images/cards/large/11s.gif new file mode 100644 index 0000000000000000000000000000000000000000..1475102e9cae5a5ae7e4b2062889736fb7f7f250 GIT binary patch literal 816 zcmcJOzfQwI4935ZixjpD89D;0m>7!05X5pJ7PK29D{pdD^B^5~kUSF$Vo9*i?w_Qn z8(B_1+5Ue1e0g2HRF5CGxWQKj{z3@b?Pu3@ecunmAXmWkk4q9{xRXF~k@oML%TYc) zGHQuvN#g^5T~hF;nbbOeQqIkspY{|5mrsOL7Grgb&Os#MN?8oaAW%n^vQQ+007pGH zO)!h{MuAB9z>YL=T&2jp$fsgcBN9sCJYUYEcMIvQR=7Y!l^R-c>m3ExIWwD^9Z_7^ z1~z*uuxw~;Ybm(y08!emWR?Sj;HDd3v4ePy5Hr;4qKxxJh`NRP<79Yhzm+18hGQ$- py;`9aJW`~XBd=`}cAQ(tICF1>G&@@P|Gf(S7bY*8*Yb9Wr(bxU&u;(# literal 0 HcmV?d00001 diff --git a/data/images/cards/large/12c.gif b/data/images/cards/large/12c.gif new file mode 100644 index 0000000000000000000000000000000000000000..757194e92d36cd4a79aafb5006589e51928778c6 GIT binary patch literal 816 zcmd6mJx;?w5QU%dT5`HAQlw0x2vMZig2IT#KO+boB`r5u3m+r}2l1I`5RJ{utZifm zQR8N{qvv_wys;mj9nSi@1AXE#K1l zkx)ZKCz>Dltw=tRQN)P=0sX|Gd9;>#oHLX5?xl$%QB5Q;TB&59buB$*cZKfVh77ZzVOXZO6q{Wmvx B$qoPj literal 0 HcmV?d00001 diff --git a/data/images/cards/large/12d.gif b/data/images/cards/large/12d.gif new file mode 100644 index 0000000000000000000000000000000000000000..66e43ecdff773493ac80fecba83a5676a4f07862 GIT binary patch literal 816 zcmchWu};G<5QeWJk;-_g2d_pE>cA4ILl8@9TTr%+th`B0`yd_qAbBPh#DK%y*%2hI z7|CMY`TYN%e>qRjkInt-E!@C+3G{sd9FM22>tc+3-*XGVd=|4AlyJud&%#xF0oYMB zA1|dpc<(oUyuhWV-?itH{!p}M$4RVcr<&|g%qK?47RK(m`U66l37|k=Fd1;2kQky0 z7O9FPsxUDL1-e`cA2yLlH}GPLOVlth`ALd5{h~NS=uWF_3V-ZGoC1 zX1ZAS=kEVMpWOT1-S+zFk}l{iC;fdA9S*OzB%obK5I_K)huh~o=C`+v!EDD$LXp11H#wN)$QWrq1y<-I&SDx9F%rA+8Th>7pSw+t}2nudXE4@h~20_7Fqe&)qGUl*~(i-oi z4&yq|Mhfj@C!JAGxFibWTXvn)QB3_sP@!b-}QT>lsq5p;1 L%hq@Pa85U0pg7M? literal 0 HcmV?d00001 diff --git a/data/images/cards/large/12s.gif b/data/images/cards/large/12s.gif new file mode 100644 index 0000000000000000000000000000000000000000..5245071c41fde41a46d477846f0941d6efcf1914 GIT binary patch literal 816 zcmd6mJx;?w5QU%PwPd<2T)0f4h>F4mg%OQ^Mi4qmT5hsde2^3z#Al*GG!FCD%a0vI zjhoS|X5af}W_|x~SKd5dVvE-V`Z?#0$CqIk#&JBIPCNoO?xE2)VcS6j2RNc&!s@y&5Udqy_C`j;W;@DNve1!_LpHpf*R57REIqK7oa^jX*yd-;YSZhQcW9}vo!qwZ|x`|}XC zLrc!yuzBgm4N*S?g26q!2B4n4(J303@s|M4pHUs$|sUCZMIZa)Bm CQ^}+N literal 0 HcmV?d00001 diff --git a/data/images/cards/large/13c.gif b/data/images/cards/large/13c.gif new file mode 100644 index 0000000000000000000000000000000000000000..7404c69dcb24bd796259fc19378ae8cb7d2d3a53 GIT binary patch literal 816 zcmchWF;2uV5JkT?j%2!&TLMCef+7V)5RJ2I!P0F>%S{aAAX{*doQVd}B>WkNKoV$4 zV~zbi^X89pcYj-5Kc3?hZ#nqI7!QZnwr#tv>-%1|fRhhv402pbAX;SI1GS9Ybjd># zLfD1rg5Nen^h;%EtY2JbGVA9#rGj;{La8jK)raVB2!|pT!g3X{)#?g?f#n4#wYow? zzp8hkBPg5qBZc)QY3PX8c7?+FF9~f@V}!!GRjrZ?u~ZM#3Ycd~E(imIik&42J)=_1 z-VRnoh)v@J1}iL%36YdMV`_zfs}ruyO71CyA?F!!v!THRVTH3o`BY>-AR4nt#z2?% zG?3&4`!rbVBy=Fw+Z3sk*_6T*Yiw9|+*FG1NSu^NDHdb>?^nTpVfM1=-TnwSpIQUT ASO5S3 literal 0 HcmV?d00001 diff --git a/data/images/cards/large/13d.gif b/data/images/cards/large/13d.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac446382276aa39986e915b3bdde09a3f39bdd63 GIT binary patch literal 816 zcmchWu};G<5QeWJk;-_f2d_a0F|br(C}N3|6NHVCl{cwH9;5>gl4oK;3^?4KT~$uo zl`g0Ib^h0{?yicDv7U9771xG>HUI{}hV_lyE1F%)&)@1K4u6 z%u7iF5%rW8I3?1yIi94UXpWAvS<%crWka!?EsAR)-=4bj5Ejv6#-b277#CSmQ3&s< zwx__R1|ySF7?--0T^}fnvrf8uUh$#92!*j#$Avbsx04kb1)_+(h^S_f!aEj?iWb={ zQlK))q(#T)A_Ufov|@3sW)g)#+n$7wbJSm>@ATs%gz+L0?Gs5+?DL6Hd?yOcLcG(R or6`Qe??ou8`WD;6Bp*0`Au-qFspY?41^*XjFPq=_>m@w?0qG>xq5uE@ literal 0 HcmV?d00001 diff --git a/data/images/cards/large/13h.gif b/data/images/cards/large/13h.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5558a465467bad74b9480e3b96383ee7a0e078d GIT binary patch literal 816 zcmd6mu}*|Q5QgU>BxgCW#kN=&3mXy&jSUME#qLU5-{dy(AXoSxJd=&F5S)L3Q#kFV z*~~vP|9m@H9v<&+Zl5pdg5F}%?~~|ocQVVONEOPaTm<`@(pxHV3i zf_+}F&DAA9c$ZX-^oeIS+W0b27{}VEBF}E1FwQz@%_Oqk3>3yDmFC7uMqgM3v*wD> zt_}4};hmxxC4|e7f)!1QQB>@46^1j=7h#@~NfRL0R@gxb>l!) zVO>L@mP1ZC^U%A2^<57L1L=`*n)mV~>rsg#ti zWI3IEe}4C!^ZfGEJ-prG8lM&T3nA?HABV$X7>02iSpxbz;d#3V~mircOu-5q#0F zY2cy;t+rPR>x~lLvmz@US17D^UfP!;(@I(hg>^;G=0>$!NNtq@=ADSTBxuK_6NTQ{ zEVkB^1c*#U-oP$PVR6ZK+q@PTNg?2RicQ{?%#t9Ck0iL|4pAtGW?L;`0WSo4UwKp{ZwC<+teJ8j)MsvjxUhiAX^Uz3$gAhg3$wP+>6l>G z>Sk~@Ccv#ga@+$4T0|g zBFKSBZ4E6Jv6NiBqBI=ng>J9#CD79(z2>o49nuf~Ic%05Tp^Sdhco}&WzwIuEmpAm E0lW%wnE(I) literal 0 HcmV?d00001 diff --git a/data/images/cards/small/01d.gif b/data/images/cards/small/01d.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab3b5506e631a436a9b052002fcb73001ba24ca4 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYE$`EXhRu9O)MggG6iU5#^s2W(L0cb@CScFR$ zEaK1s6zP!wDsJTjizqn&o#8eGC~~L;BBB7&?iHdDm;@G?q9M2dC<0at76Do+0JK67 zXbwaT&{7VdrL97$T0ma_)c~y!;Q$#3bjB2o!oVaakXKpI{H)5=f-b^@9ty;S3p+em Jp$u&XYXFimdW!%6 literal 0 HcmV?d00001 diff --git a/data/images/cards/small/01h.gif b/data/images/cards/small/01h.gif new file mode 100644 index 0000000000000000000000000000000000000000..12e3a888c585cb2d0db4fb32657563cc7a64142c GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYE$`E9Zuv^HCfJH8i0zi=!Kt?C0u$m7@qycC} z2uP$ABq9;G$e{x$(gS21X#t671S&ZIo#8eGCIWPZ0?jv{V3Sg&@!zun3Sbg#%=Tkg68Q7l%Mrh;V?k3yG>t(I^Z|asqjk1t^E?XH~8i VbP*=>P#`8;*x|tnWoR>40|2uId>{Y- literal 0 HcmV?d00001 diff --git a/data/images/cards/small/01s.gif b/data/images/cards/small/01s.gif new file mode 100644 index 0000000000000000000000000000000000000000..7dc98781bc0dc113178eaa948c8c4885f9ee4256 GIT binary patch literal 415 zcma)&F%E)I42IkHkbq&ppb4A6z+fC0H7B}Gm8a1cSkk}1zYJ*Qrnlon7qZ8J7aQQyvfl(&t}h6KA& zr@_gP0FOf1<8FDO^@zl>St}-$C5u1^qL7kJw-**u9@3;&BAFo~35g^WOy>cOgpkFN zh=}Ei%*1R;UM#LG2lIHLAGv&mSOl`r*UB`fA`#@!tbcR#3ElfbMCxD7KYtm0-`X|{ G*t`K6baABs literal 0 HcmV?d00001 diff --git a/data/images/cards/small/02c.gif b/data/images/cards/small/02c.gif new file mode 100644 index 0000000000000000000000000000000000000000..29bc364c4064ab0781bcd0b3db59d5d34d7d3376 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hir1pmPR$WZ*r!pO+L#GnHb1<5lo{S)C3P;h8qU}R!}GPrzZ z7$hEQ;S^SbGMJUnMHpdHFg1*V=pqb2DGsnXQ0)yI!fGxOAQ47Juz^kuAS*gRA`B1% z9YB`y0Bv_@VF2q=JOC771KJLDAxM`3$YDSR#LYlU1rmTFAln5JfVzMNN(g|g06Pq< w9pa1zuo{SVH6Ea)P7Pqig#us`)mYH{EX?MDF2aN!3dDp9D?C`C3@rw003bVaS^xk5 literal 0 HcmV?d00001 diff --git a/data/images/cards/small/02d.gif b/data/images/cards/small/02d.gif new file mode 100644 index 0000000000000000000000000000000000000000..e16eced88efa8a729c2dc6f03328fbd837482e9e GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDNIa98ov0_C^6!ubvek5iVhfNCU_U37}oA zoDdO*4xmT~(Dp+u5D_H@pfj|9+7n?S3Lu98wHty(fR+j_0E#FB8DJ5RdjvpMfEXYV zkQE$2OIx98oIw5(;RsxGq=gftrqFO9*sCmPepcmbK^I{{4+Ubvg&iKOP=+>xH2|l2 Bd!+yX literal 0 HcmV?d00001 diff --git a/data/images/cards/small/02h.gif b/data/images/cards/small/02h.gif new file mode 100644 index 0000000000000000000000000000000000000000..43015f4196bd9582453b6b5a61b55b29f2ff9a35 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDT~!msU-QXmnq zn+1T5=K@I?COUzA!2xmxM9o65zeG3!7aaj>Ur}fP@hS_NpH;b9&_$Sl){`7A?C@ZP IGPD`20qa?OA^-pY literal 0 HcmV?d00001 diff --git a/data/images/cards/small/02s.gif b/data/images/cards/small/02s.gif new file mode 100644 index 0000000000000000000000000000000000000000..e302a20674df06013ef3bc7592637b9884dc2445 GIT binary patch literal 415 zcmb7=Jr06E5QS$E$!aJtXhJ7gP#6nJjSV40W8xv?2;N`|3y;8Yj5o5hQQyoi6m)L& z^3BhCJIB*uyK9!TpqC=NuRMtC?JGqdZJ2VMyw6-mX=zA#z7x}PTQtwxB+i`}t%gK( zrLITKhJ;Ykvd4`Z9p`l-#Ew^nE$&Rnl9EkBxL3%-3$q7Ez=9JpNjVtu*vuf&1qAMi w5D{3Y*j1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDNIa9ASu5qkyVc&kB$TCsd>XWQ9cFq9ZL( z5r+<-NQg#Y(jlmbk^|5gYEv`}6Ja6>Actv9Sz!PYQ3jeUxBw*L1`!bixkmtGsi+rN z1Z3b84xpv2LO{hpT_D9?A{;;uwt^I|C^Ue0l?Bbus$4DTB24I^Kuox>!-Eyd&}Og( E02J7L&Hw-a literal 0 HcmV?d00001 diff --git a/data/images/cards/small/03h.gif b/data/images/cards/small/03h.gif new file mode 100644 index 0000000000000000000000000000000000000000..4877ee5a4c845828d43cf3c3ebf33806e79a772d GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDT~!msUM3j zIsh$Y;{n?4(82)LrFZ}+qU18e0PI4LE(M^0f^0yO!6G0l5}*bOBmi{*t&o6N3UUuv vJJeE6unR%jVU{w26c-9Wgjmr0EX)S96(tmenb1Rlm~df*2P>4J#b6BpT@Z7< literal 0 HcmV?d00001 diff --git a/data/images/cards/small/04d.gif b/data/images/cards/small/04d.gif new file mode 100644 index 0000000000000000000000000000000000000000..6ccc0879ec0a267a0f5274f5c5c0bcbf09e2d3ee GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYE$`E9ZFhr_R04Ope04Tx<6=?uk5h4+|=tv7x z#Gyk-RVzdzFzFCfM9Bf@47VN)!$g>f0?FQ65#-OkP9faqR;>&r|QLm=4Vx|7IYCN^iUusT-f2k K3T0?BSOWkU#C+5M literal 0 HcmV?d00001 diff --git a/data/images/cards/small/04h.gif b/data/images/cards/small/04h.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae9637a96ca850b63e56f8c39093f9f2fa817389 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYE%5afOE2pYj56Hkq0iei?fJKK|IE5i14L~bG zBm$GbA|NXqI)qfULNo#sK_YHI5hVwpGu(jMK_bc^D-?hZQ`Q2S3=#oZA-KS$lMAF6 zBm#D`0Lby8Alnn2z`o!J0EvLK8!iO;6ud<-|S(U2=U4#kbM6iA+ QgP3q(hX*T^q0L|o0GF?NhX4Qo literal 0 HcmV?d00001 diff --git a/data/images/cards/small/04s.gif b/data/images/cards/small/04s.gif new file mode 100644 index 0000000000000000000000000000000000000000..0695de74fec7fa2c0ec5c29a0050efc141dd9bab GIT binary patch literal 415 zcma)&F%E)I5JYzo$=6Uo(1cE)urL;s8XH24#)L!25xfBfg-7r>h8tPhsI&hAQ7V5m zdCSfWdpsRB+j2p3dNAR=^@E6?HZxhY7AkYHUNhxISw(Ewt(X?Kv~220ux!OB84~VB z-8bwH3CYM4pLV@cAWA!%^}Iradlf>4WC(R!r03`(hVdOF*+WP}ArTCH2hO^)M4X$N yIVnO-P$M*<$kL<_#Ym;mS13!vi|nI^-T$*P#6jxM6#{E`g@5ic?$6qa741H-U~t6% literal 0 HcmV?d00001 diff --git a/data/images/cards/small/05c.gif b/data/images/cards/small/05c.gif new file mode 100644 index 0000000000000000000000000000000000000000..868eae8552f4775e1fce6be1ac024bad9e1be4da GIT binary patch literal 415 zcmb7AF%H5o40J-NQq&&|yR`*=F6H_Z&D@DPCY=EA0UMnZsuC85NFd`*V?#5T_Yu)i z-HaIb5imAYntX!XDP#BSECd_wTw-GH4BoKBrA(DAu&TJBT;dETBr2z1sPdU{sjdk@ zO4q2uJeglgc}R|k!gE~030ZE_3n7@N%FfzDQSW9G`>ek&7|QYYUxweehGqfV4|Pv- A^Z)<= literal 0 HcmV?d00001 diff --git a/data/images/cards/small/05d.gif b/data/images/cards/small/05d.gif new file mode 100644 index 0000000000000000000000000000000000000000..a40396080c9ef11ca7e84b3e866786b0f5571510 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+SI7(lkU7E-sYU@+uO6_;oKTSlAyqAq$wykC zA`Trws%}7$q(e{1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+SI7*5MJ}zJs%kwT0~-ZYy+DjZEu6v-kp>}E zEuhIsU=ffN4jn?OZa_vNNCd=Ca_AHiRfCEsgRD>hISi=F5TpiVyWj$l2v9Ld1ng!3 zkmE&xQih36U|(@N`xpnF;cf!bFT0-Xp_!~$|6ST&Tv)q*a<1hgJS Q4Kd-u4i8o+Lz}@G0KwdPz5oCK literal 0 HcmV?d00001 diff --git a/data/images/cards/small/05s.gif b/data/images/cards/small/05s.gif new file mode 100644 index 0000000000000000000000000000000000000000..80aef8f8f5abd90e495f6f6fbcc1f269cdfc1879 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hir1pmPR$WZ*r!pO+L#GnHb1<5lo{S)C3P;h8qU}R!}GPrzZ z7$hEQ;S^SbGMJUnMHpdHFg1*V=pqclYCIeQAakJF8#sj3Tp%Vxv^zC$3bR2>W`Kw| z04)XE3Ls0>csf8LK==5}D1_)&V}bjb10uo(bt}w=oWdY?kQ^?o@L+{9v>2=b D$e(ch literal 0 HcmV?d00001 diff --git a/data/images/cards/small/06c.gif b/data/images/cards/small/06c.gif new file mode 100644 index 0000000000000000000000000000000000000000..9fe310e9e68fbe3cc2bbf915c9377d7380c553b0 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hir1pmPR$WZ*r!pO+L#GnHb1<5lo{S)C3P;h8qU}R!}GPrzZ z7$hEQ;S^SbGMJUnMHpdHFg1*V=pqb2DG33PIZ*8l9KvcmV3Qdc!3H`ta0;_QOlE)> z=m4}7EalL`0M?~=0H~b_s0Qppkdy+@KtZ4`h?{|y3M3qAVFc+CNC4`BS<1l-at}y5 yP=o{Mod!;@3qjg}&gcM%0NvvwQ78ZrVnOq>Fq;dy2*@2IhYKq_SfLCp25SI|+H?T` literal 0 HcmV?d00001 diff --git a/data/images/cards/small/06d.gif b/data/images/cards/small/06d.gif new file mode 100644 index 0000000000000000000000000000000000000000..d7e888b67b6ec06ee7c5125b97f5e5b8c46ff10e GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYJ~yF9ASu5qkyVc2-sv!s7Qm5susxPBP~!7 zhYlfCH=sz;A*hIwL#L3a+7u1LM3{&I&_HD^pvfQ+WuVD|3tT$6fV#jUf*|(@04)_1 z1=*f>2xy?!6pnyJF0Dd9#Xu3TzeG5I9&80EUQq~kqN*1Qnx9p-I literal 0 HcmV?d00001 diff --git a/data/images/cards/small/06h.gif b/data/images/cards/small/06h.gif new file mode 100644 index 0000000000000000000000000000000000000000..df524ccd51cb4d95bc417116bd761b49e3e9cb56 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYK6ffmsU670S?Num%9wXL`#3 literal 0 HcmV?d00001 diff --git a/data/images/cards/small/06s.gif b/data/images/cards/small/06s.gif new file mode 100644 index 0000000000000000000000000000000000000000..7cf6b27103da687174794d5ab696d443aef2d30b GIT binary patch literal 415 zcmb7=F%E)25JhJJ&0;7ZXhJ7gP#6nJjSV42W5OZi2;N`|3Xi~X3^%g0QUB~N6m)L& z^Jf3dpSfJm`$My)6}<%Eef5LL-kuQT(2gnB$@wg0n3jr!<5{t&yQ1k^KhCXiH&Y^p z((p$_Q$i>uA@{L%CF49WosGRxempmw$&eC5^{fhcxMB8$-C@BAnWShK!DTXogtxvG za3z``h8`;2yf*6~hQvC`M@beb56y!I6XdD8JNtpWac61B{4^3PILF_2nT=<)VoS## D-zsql literal 0 HcmV?d00001 diff --git a/data/images/cards/small/07c.gif b/data/images/cards/small/07c.gif new file mode 100644 index 0000000000000000000000000000000000000000..d54149768467f1d1c7f49c5d12eff09020162470 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hir1pmPR$WZ*r!pO+L#GnHb1<5lo{S)C3P;h8qU}R!}GPrzZ z7$hEQ;S^SbGMJUnMHpdHFg1*V=pqclYCIeQAakJF8#sj3TqHmyGctk=bZP)u(E$=+ zfEefiveX4=yF&{DSeN1fpa>h#cCZUUx)eYT12Q0P23jhR02Be)E|37!1vF3sWGN%q zVPNfQJ{%w`fVRW5tMPy=1=}uBC;&E5jRnom!fYUSAcul56M85R6E3XqV1+WY7_0#; CWpls) literal 0 HcmV?d00001 diff --git a/data/images/cards/small/07d.gif b/data/images/cards/small/07d.gif new file mode 100644 index 0000000000000000000000000000000000000000..fb9333f7f606e2daf7cc9441e9ae838189d3b66d GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+SI7(lkU7E-sYU@+ubveFKoL%;NCU_UiNHli zTA(5h9YB#DjliTsP!S~upfj|lXc#8KL=->{bDOfl03@OeG+A%~Pz1;TiwJ_;BLK95 z3&;S8fDD|%0kRY%1r!1MON0aH!B&veibAjxRlQiy{H)5=f-b^@9ty;S3p+emp$u&X FYXJWPebxW~ literal 0 HcmV?d00001 diff --git a/data/images/cards/small/07h.gif b/data/images/cards/small/07h.gif new file mode 100644 index 0000000000000000000000000000000000000000..58e04478df4f3b7f5d3d886c804460e4edcf764b GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+SI7*5MJ}zJs%kwT0~-ZYy?RyzEIQP}DGU*5 z09hdsm;@F9S>ezD6agwu1c|r-MU)(X&d>rfKqAT@D-=Ku14Dpw1-2ouPOV8u`d PG2y}v4^}8co530Yef@ih literal 0 HcmV?d00001 diff --git a/data/images/cards/small/07s.gif b/data/images/cards/small/07s.gif new file mode 100644 index 0000000000000000000000000000000000000000..90f452ee08afc000da200da80778f6e1ea28c99e GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hir1pmPR$WZ*r!pO+L#GnHb1<5lo{S)C3P;h8qU}R!}GPrzZ z7$hEQ;S^SbGMJUnMHpdHFg1*V=pqclYCIeQAakJF8#sj3TqM9IL$o_JfUM{Mi7-G! z96*-30Bv^yx(8&S;sKxt8;AjNAxK04IKo zKvn>42Qn1Emhyls1=~KO5UgKVjRo#!4u}XF$Q{U`Ak2gw3dDp9D?C`C3@rw00D!e{ A$N&HU literal 0 HcmV?d00001 diff --git a/data/images/cards/small/08c.gif b/data/images/cards/small/08c.gif new file mode 100644 index 0000000000000000000000000000000000000000..e719d46ed775800cc5685eb2287d58df766c44dd GIT binary patch literal 415 zcmb7AJr05}6n+IH#W0jq6E=Z?!8kZ-T!Y`3Re+ z=?%+#1d!s!$H_I9b(<5ym@z!+M8@hy2w1}gL#q_in*offydx4|x@kzN0*hs_8f|9` z6&)H%q(p}*49x`^@{sx%xvilS(~#t{PAQc7sQfA{6nTG^aqA=0 CYIBJI literal 0 HcmV?d00001 diff --git a/data/images/cards/small/08d.gif b/data/images/cards/small/08d.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5df71f7e82427b1421157fb0b4ce9730c7257b9 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDNIa9ASu5qkyVc&kB$TCsd?CNL6c!MBt($ zEl?4M4k1;y5RJg3Lr@VV2cR?5rf3)@!bB8+1}bY!Sz!PYQ3jeUxWJ{8OVte`A_#Ji z0MH6SQ7^Cv&_J`(E3g@B5Iy1@Pt;Q)HD6{L7Yp#j9JENFgKj-_H literal 0 HcmV?d00001 diff --git a/data/images/cards/small/08h.gif b/data/images/cards/small/08h.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff7b20bd8dc27411691d85891c58fca82500c6fc GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDT~!msU zscKD;2uuQtfUI!n5K?su(FjZgiMRnplpKK0Py;eRBFZ2u6o3v>)|#SW2oeF=F1Wy@ zlS>t-7$gFAvjEWXf}%hv!$c>rFE~KX5CUm8TnP4;2nWzTt%5-9D+&!DUS&b^vnp2$ Ux(E}{dXmG19UiPuhBkvW0BQnzQUCw| literal 0 HcmV?d00001 diff --git a/data/images/cards/small/08s.gif b/data/images/cards/small/08s.gif new file mode 100644 index 0000000000000000000000000000000000000000..46020572ae7f332100be82caafbd9e6ccf300efb GIT binary patch literal 415 zcmb7=u?~VT5QeV>NihtNYQiQkFc=3$jSC@0W73C^NAL|gF!%^Oj^T|QUDUg_FtB;k zpYMA2|Gmrgyg#%XSi_3}*4Gq@{OvOa9Ck#h5B#$daaL0ZVE$Eh2PpFb^%vpGY_fN=PKbU`e2Qn;A)b z8#*Qnl^TLE(ij&C58VxMF?5J6QDtOWMr2BPRDY*=ME>+=VM%bBh!d3K@4GCfvpTVb F;}2}QaFGB2 literal 0 HcmV?d00001 diff --git a/data/images/cards/small/09c.gif b/data/images/cards/small/09c.gif new file mode 100644 index 0000000000000000000000000000000000000000..500e35c1e4d27089dfb4d5d8ad9e15d5dd669347 GIT binary patch literal 415 zcma)2F%E)25ZvXEfT1{Zn$QUpR~QRQjSVqGW5Ofg3I2eB!YA+?1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDNIa9ASu5qkyVc&kB$TCsd?CNL6c!MBt($ zEl?4M4k1;y5RJg3Lr@VVhfX0;uO1DBFaFM1s8yv>IM-J1i425 zWT~hZSOjRG*AxzrrCdM;P!~wCmk0;QQjpY&LIaR$RWBAaKdW-Jpo=h}hXOI-!VV8s JC_|gU8UQKZejoq< literal 0 HcmV?d00001 diff --git a/data/images/cards/small/09h.gif b/data/images/cards/small/09h.gif new file mode 100644 index 0000000000000000000000000000000000000000..f0943d12d25185173ea0670993e03de562b03955 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYDT~!msU zscKD;2uuQtfUI!n5K?su(FjZgiMRnplpH#RM7@C8K_bc^D-?hZ6IGj{VF(fd*)F&M znh|{70#yuzIy4%&yHk8Tqn&uI@mzakZW{)-$szN~tiKG}zaNXI= zNa8C+&2?f3#z)wNZn{VWIzlVK`aPWAf!BkK7k)(VCWP29K??pS%6CjNOZ!J zb>};uy+7=ht9nLLx-p@izR(o+n3*D4IMneJJtm3BH zXNJ=*LQ;)eU0mQ3dAUvGplU@8ggvsgLpd;+F0N;0zhZ;o(lq+GwVb*cC-1>W6h0x4 z9KljmW!h(kN*p1FPos0EQYI4!pU4v1YiFoTf^#f4K?yR5%o T2xoZ5H}%h7`ro&PW=`uDj>K_p literal 0 HcmV?d00001 diff --git a/data/images/cards/small/10d.gif b/data/images/cards/small/10d.gif new file mode 100644 index 0000000000000000000000000000000000000000..2d8276a4f3d5757d866050a7af7c532cb322cfb2 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+SBOSnk`vGztsanpjRGKs;Ub`js2W(L0Vp+P zML?2ECzmi-#Gyk-)oqGI;6j&HPOylQ15h#09K%J2S|B0{K!+)N^#FB&MW$#7E&yr= znj;Yi76Cd#0O)u@RX33BKs7)Yas(`LX$6`Cv=k@;^p^-n;36PH)NP7JA;gJZENFgK X1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+SBOSnl2a#_u$PYn(7;9kRjnQk!$nT5oWg2g zkp>}Ettl%4l8&^1M1Yn$bO@=sO_2y(cnBoYqYqTf)B4P zp;eXuOLZZQV}`;jtiz{$r_iP3fR9C%NT&cSMw|vdh2-iA44t$Fh7RNG9EA=)nXzWW TgZ29gKE|JS8Gp{|ixur&D_?K; literal 0 HcmV?d00001 diff --git a/data/images/cards/small/11c.gif b/data/images/cards/small/11c.gif new file mode 100644 index 0000000000000000000000000000000000000000..c74404840926c17d399a6a8d91277999a779309a GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hir1pmPR$WZ*r!pO+L#GnHb1<5lo{S)C3P;h8qU}R!}GPrzZ z7$hEQ;S^SbGMJUnMHpdHFg1*V=pqatDFFqLIZR;f4IE$*kjac-5vK-_6%ru37#YD< zIDjqfFi3Q2U=#$YQ9J+=;Q=zhE(D5z4ODXhGC(3gT>=RpE7(9%AYDKM1;CC+GLQpg y1qU<8g-`>5Rvc;oyRc9|0c-~gnxBQ)fOdclf_n_)AQTZ|!i5zctWbs)gEas}FLS{F literal 0 HcmV?d00001 diff --git a/data/images/cards/small/11d.gif b/data/images/cards/small/11d.gif new file mode 100644 index 0000000000000000000000000000000000000000..f27484a9f5e6d7a296882647589d8fde2d598be7 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYE$}kaRj#dxIz(xVE2*_knHLyqn$chyKKoKrs zu!utkNJIjtxRnzuqT~Q_MhH;*p%#dU0@z_d?MYyfDH?(cz*YcV2o?caDgbu88&m{n zAP2|_K~azkfogyTig19f0J*0yFv$sI2Md~?Rk>QwMVNs4!A64&0x^gQ7j}5CLK)f& F)&ThjdGi1O literal 0 HcmV?d00001 diff --git a/data/images/cards/small/11h.gif b/data/images/cards/small/11h.gif new file mode 100644 index 0000000000000000000000000000000000000000..c90684d39dc5840de78c90f91027ff498ac5660b GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYE$}rKTlS|mkM*?VIqX1ZBkxMJ5uo_sT0c6FB zfJH}IKq5d(9XdcFK*fhZB0U;`N)8}rgaD;LB5puuD1aRXlu81L0Id*Q020vxN`XW` zRtSI{4^j*i0U5{<02C1v1xf`bIe`om;Q+d)6|A^05a>jp5DS{0Rk>QwMVNs4Ne&lw Lc(6hl+6>kJ`%Zc8 literal 0 HcmV?d00001 diff --git a/data/images/cards/small/11s.gif b/data/images/cards/small/11s.gif new file mode 100644 index 0000000000000000000000000000000000000000..1603694dd9813deb348f4187d16f9c671bce945f GIT binary patch literal 415 zcma)&F%E)25JhJI&1xvtsEM6GL18Q`H8#W;jfsblBX|P}3y4SzKYMAducw#Sz=pze6 z46T;WM1V*!g9sC1l-8&by9o5TddH~US)Qq*WT;WQm|H_Dy3s%X(rdrfiv?|e;k$B6 literal 0 HcmV?d00001 diff --git a/data/images/cards/small/12c.gif b/data/images/cards/small/12c.gif new file mode 100644 index 0000000000000000000000000000000000000000..d61caafeac43342a34ee977166184d0b25a55b5a GIT binary patch literal 415 zcmb7AF%E)25ZnbcU@VTHiJf3UVJs*$HiQ_BiI4D};18~#;0Zj(@FPnbb@p-?L+4hT z+1Z)dJ)Mu+onF$M9!#jWEi~CPU?z_?g36q{*DO?NX^6eRHIqwQ=&p{E+%^7ch;TpZ zIUElW!YEW%(edoM36uQL7J{%vDibB5420QQly&4oN9oFNES&6KM^IiAnN0{J1sTds zVKZY(ETBBaNVY&$x`VQKX$VRToa4Mi5adP>lFT=iS}3qLOK5leSoVLv;LiB-FQe~U IU9+bB2LZ8jW&i*H literal 0 HcmV?d00001 diff --git a/data/images/cards/small/12d.gif b/data/images/cards/small/12d.gif new file mode 100644 index 0000000000000000000000000000000000000000..bce5b44d239fbe5e0976a392a7980642ed2348a9 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYKFl=kU3gCAOjl(RK0)6ah+!Z~)!Y$_X@CqcAYZ3FK84u%AJyp`Pbz YfimDCOfV^!2r=Qp4i8o+Lz}@G0H>yUmjD0& literal 0 HcmV?d00001 diff --git a/data/images/cards/small/12h.gif b/data/images/cards/small/12h.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0c51f18c95a12448c42b6e18b659d00173d01d3 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(EYMYKFl=mrgEWFCPh@fsF#HUOgIt3td_{h1I|! z4MM7JK$909X#t4b6 zf(u+a1y#L5G{7Pt_XsRXv~mJX)+h{21bdYQ h>}O7peu(F}TA&QL2op>SCPGZOu)~8D%Ft%81^}t;dXfMD literal 0 HcmV?d00001 diff --git a/data/images/cards/small/12s.gif b/data/images/cards/small/12s.gif new file mode 100644 index 0000000000000000000000000000000000000000..794926aff240243f2dec741f925a3e34feb897d9 GIT binary patch literal 415 zcmb7=F%E)25JhJZ&0;9lpb4E|L18Sm)YuSXG$tOxJ%Tr&px_7`hj1fH8}-k!m`LYT zlQ%Pe{>=Gu+V0Gf7W5E=c-ugdK7Ap`qYYE8llPiSmE;8p&v(i6T5HpmL6o^Fo8 zm--$t8xlfEsvGNgcD#^LcC0m%PVi6!5i5fTVOQiRK}VSuewd_989+JKh8;3V&7^3CT;@5AB=;e#)S}~G5Lp(BY1;9FmMEpW4w{0i`rH&hRIGZ zudna5J)RERUA2Tc+!3f=QUub6j|d*DndLrs&snIF+yQ!i2PU@NRJS_PrURpF$Y9^< zH5d;W(8h06!akmiyHK05RqTwy6fV+%Z8!^2B61REC8ZY*W7eeCI+FBMHYA1(V;0NK z1k{Hlzs3VhtN=Go{enMI3rjiBSIFW*zVzzhCIi5XVpJpTCU1 JZ|%Se_HQ0Ab8r9v literal 0 HcmV?d00001 diff --git a/data/images/cards/small/13d.gif b/data/images/cards/small/13d.gif new file mode 100644 index 0000000000000000000000000000000000000000..8cedbb1cb64ede36d786d09ece9748aa5fa0ade2 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+myd*DBFG%A9*}{J0;*m;8ipW~Mb*F}4M3?W z5+J*{gux;X9YU&ZV5wG4u!xcaP_Y}x_CqZY5e1-jWspb`SY(QZ-~ym_Rk#Sy83I59 z1>qt<7jgtFa%lyc4ABMjmk0;QKp|nENMT@-6UeJ9Xnt1ZYC#uaLJtLE!i60ktWbtF GgEatJfO(<- literal 0 HcmV?d00001 diff --git a/data/images/cards/small/13h.gif b/data/images/cards/small/13h.gif new file mode 100644 index 0000000000000000000000000000000000000000..045609f23591151426ca8370f78bcde8c8eb8613 GIT binary patch literal 415 zcmZ?wbhEHblxGlS_{hWn1pk2u3>1H|FfuYQGw6UsLGlbt|717>6dW2D7@1h048AEE zfs0%^g;c$u3|1#}5k{C4ObwGFx(I`+myd*DqDv>2FpvQ>uu(wOt4G6dkxMJ5uo_sT zK}c0=3Q+1u3rGZLsY8d5s#_0`aR?*=WGFdw3W>UbYzK*e7z#j#DT5eEAQ7OYf(w9F zsKP`*?hybwUJxb%@&!i#&{CkuAYD!%e~EB_3={$xSQrR&B2b70Xa};NRk>QwMVLVD SKvqLcxUj>670S?Num%8J$9bIq literal 0 HcmV?d00001 diff --git a/data/images/cards/small/13s.gif b/data/images/cards/small/13s.gif new file mode 100644 index 0000000000000000000000000000000000000000..b9a2689fb7fada99ff640b3d6e857bd4c4875933 GIT binary patch literal 415 zcma)&F%E)25JhKJB#W_FvYOBd6k8YzON|XNMq|PuEhLf15(*|+kd%oe4ab<1X;ua-c(;m_wcnY>IJ9qb46fkT7?6MNGVRam HiZvX5y1a4v literal 0 HcmV?d00001 diff --git a/data/images/demo/demo01.gif b/data/images/demo/demo01.gif new file mode 100644 index 0000000000000000000000000000000000000000..86f637f20d8bbc7aa3d4f2939b76852c8fcb40c8 GIT binary patch literal 14700 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 G@&5rnLNCk! literal 0 HcmV?d00001 diff --git a/data/images/demo/demo04.gif b/data/images/demo/demo04.gif new file mode 100644 index 0000000000000000000000000000000000000000..914b8cc8ccd424cedbdc428ad54bdc827f1ab7f3 GIT binary patch literal 13367 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 literal 0 HcmV?d00001 diff --git a/data/images/demo/demo05.gif b/data/images/demo/demo05.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2e64a3a45e677edf6f36918df15d3310b6439cc GIT binary patch literal 12885 zcmbt)d0Z3M`u>?ElgY}E07juYAWPUZ2xzcshebsSZNv>wYXBE;4Puq5ZBHNs1k{LV zgVGwPTHM;W7HzcyDn+Zk5v@gSud!CEZM}_cua|zWZGLBh?Y;N!pPzm#hM9BT=Y5{% zeb2m^$x|ljQwj%RQ^3E#z#kd_1^^8Jp#Ve!kN`jm0BHbZ0gwwo0RY7SECHY#fOP;^ z0B8ch0l*;ujstKSfNlUj2jC_E-vRIw0RIM|(I7MngcgI)auBTn(V-wZ0Ys;O=rj(?D(($jueDEnq-_1{8#Xf@n~X018q- zK^iE?0>z=AH~|HME3-(lmK?E+Ob8`kp=nS~gKnDKL(|bToj}tmG@VA%OK7^BrW^Fw7o?Im9sC zjHZRroMvJ_V2U+N@pz^_*kQf)@TwmnwK=10*$6vqgkQRG-xzU8cmBvvrnTruF-UBG@plrCJfEU9`@XA zcGyIA*g2N{cc>;bR1+N7x?=otS7yPJU(V*v4_=?~R-A>iF^A@oB$I7}v{9=t@hQnU+?ZmQ|dQ zb|@?Bm8{(27qh;|&hi=zTc_s!lABweo9oS;emJ+lJ1zIlv}ydTSyu~$Ki=Zve=l12 z-QvZcFIiH*WSMu_;`djq_~(kUJLTox@^#+VUc0ld+`I1epI%@0=^L-VWq!k3Q}cd9 zgLm`hbDKB+(A3~p%30GI&cgvAA$0NM*)r$4qxXY9@19{1|^=k`tOs$tYaf6cfu zbzko0Q48bl)#eN`v*~pqQ;zJuuvI&4|C|d)_I&o1uJ~fohVN(T@;jEFEINPmy#u>m zSRpz6&+oS#eAn67)qB3Fw0BxV+vuXJ3-*3-An)knuP<(k-9PWpzwCz#PrdQ>&2{^m*wm#RtDej5aNapRQiVO@L$WGIPs}fQ z1%yaB4trc(!mp>poq$m2Jv{Npak`V(r8(O$=T!KNi^CVi6;@fsJ$dl%i_KrDFr*_2I2l!`EgWvA7NM6{x@BWVFkI`*6 zHKp^{iC723CA#0jafx-cg>Rxk2;hz#dpV70Y)C9ed%C!{Bk`- zY$yj*oSP?@ydS^W_H?52*PAbn{Q2U@znO}`R!N*MZ7%TTdcw;WUdHT`Atv>RE%giv zwe{&l{>k0Ybzz^OtE)I6$*{e5lxq#Rf1xxS3z6y|AOa9Lsh+=G7yrf&Ji)bq-yU_1 zMt6LhzD{Wr8jJJ9rdmp<6#@}&N9ZIMY-eBk_VMphWEKdKUSm$40??`<@zU=Y5PVtGg=g9E!((U z$G-lsn8yPQM*+h|#?YPXy^IZtk{nF6ZTrEY{4iF>VzLUrgqeuur*{IRF^_&zTi-_1S|)Ots}Qs^t2DYs7GW%Se8AfKx{$pTQEQ-f=F(SU6+4Zdjtd)qhYv zY!C5(KQi2y#0UwNF{}A+5#;khAJQ8a^dHgi#s$RV z0PbH4h#Nq&=Z!v1P@F=#Sm3cmDXc;xygk5d;dma_MRYDm8%E-{B`2l-0)`a#{$6Ez=4_>dej@;NP z%d>|KUt~NxGh?ds!>5(I{-)V9I_d0}t47_`oaztLCbde&OgH~0-niH0?ae@H3ygTm zs|T6S{~0e=%M$@?jCdSR#{G6S2IebD!@t{eml5lmj&5A)o&K(7Rf07>x3F$&GOS1Lr)y>9l@j)N-kRfiHWlIx2 zq6HJLJdvO*gG9Cs=UR9s>f>Az(s>#fBt%T3*yRne11E}mLH zBfCgt;LTY>TV=(DyTP|rfy%*#qnL(`O*Y`e4Wae(^p%*x#1sAMUJ=V-a`fZOm31=$ zh6jHEYBqh=dACeAJn-pZ4ar@RmGu9tdF5Jl^n|IkiE-wLT@R|0_%daAQ+kM-`+W4l zvWAz#A)t+xsIS@-k0^V{Wz)oUH_z4?lhVEMA8^&HwmB@erXo$tl>~jo9OXhjt-$hs zmIQn1puM}l@!zFCt2#KUF866#V)x+Bn=d?Wn02XUip0Q0TT>kixOWGge=sqgj;)Dm zVIy|A&I{@hXC5eAt)8(K=O9rsQPQAA_QPZp^F8)ER!PVq5b1bqbf!cLn-zB}&xYJ{ zOp570+V%%%eSvfTEo$lEiL)Ps1#a#?H+Z{KW%#vg@NHd9e43Q}W6lN%N(P?wSazB0 z3%T#=j=g^ArzZhM|H-ZN@F81($aqJ#M?)ny$PoIwL!2hivGAYpI z?-o3FRy7^3D+nJReAfoav>}*xoC8oLAg--&PMLdl5T)flx%JCX;?k$;JtdaGq<@WG z-xhGzVJ&<7x+1SfI_Jn*K+YsLOnm(t|5ANbyYc4@g{JO~{xjA%`>)|q3DKC8*+#ri znlt;_2Awb%!^2XmBU`>zpU_iDXAXynGi61}%+1Ie;Lw~x|2^=$&VB`?9qM^Otl_*E z;{@UsGT?mAq&tt7$UZ7O#u(hAA2^Eo) z4cHtqH>>>4sQk(XXcM5E6+ab%U(7&aq{?_8912T1xH$O50Gv2qezH27}b8lV9@C3OAV5HH_l{VF0ufD2=KE2Kf!+oc`;IwNV%f zn=xvC$4IK8mSJcIBQXQA)XQnLnDn?!-s@2W=-}ElwNikca4OtJ<#!I5+yNvIPzJE% z$xxBe2hSmdD02Y0N8)4@-P?j=I_hJ)hTZE8Q@ViMI7ZInagQb4Mn(6l%KN-xb$OJ4 ztp-SZH}-xbgm^DZ;$S7O^4v=d7J*4m801$y3JzegXLd+fUGAkkfNv?FP2}gSaA*cSXVF*<$4lqvOWOgTobaB=w zzr<<%Tw(qk5IcYZU}JQuy+GjV;e*k zsZs4{E_cbUIu-Xkl4>J0XE-uH5JO+0*_hrg5=DE>qv)q(N(Ufeq97JG;0#-+KH(Y~ z@xkHIUL-=q)wW$ee+BZrbUP zbu$Xfk+47fF%ch*?uuenYn@WwrufDdydxS5T>$iIKpFrA1p~@Fz~5z~Xw1?J5DAe6 zLD;+xPw0L`k<{h^uM>bUfq~4n{T#oGmtXfNz67#OHs4Z68az+}>}DxMzC*OhTtHhW zMOH#6P_A!>#fWua{c!N85J*v<_Qw>jHL8$vqyEgDVM{97!l$M=-a7(@OPqk=cmG_e zL0Fw(v9MMN!qB}ydBV}`&x0|EJ`BG7R-XkH98>Awj)y>yD`JoH!O$UpzKaTk%9I$g zQecmA(pfMC38W1l;SQs5VH6}NUUM83J%Os z1Dpdtm4WOdK*Ca+* ze6h}nh_m)t zBIf+PCSrJ~1XZ9fJc`t5BLYhk2?)eaL8~+qh5!iF)kP!!zkLiS(!uC-AaVdC0R^ft z42BH9)hR7!52B8M?5!~35vkH{PBC_&@)UB=&wzo6kIX6d@+hPNi7CprD~ZaUfYW(0 z2sKndKJ~|9EM8YvW^EtH;Ng^f<=V00;X zm;i8OTMkdwsp8$(+A&zJL9*W=-MQ}5=2%S5#v`;*I+bIfk3c=@zsZT{`JV^j1|lq# zka&o9SlK5)wx(!|qAHy>CXzM~hJIB>AU+*V>2asDYroI=NV=Tr4UYujL~Y_rln7(O z?^D6(t3xF$o}^R7a(EkJ0gx{tA+VU*b~4b2xk50+FvH}IVVNC_uZHQ4rN1b6;lFXB zI{MT<7i9IMGJeO^u2hLeOF!#Fmb3S zQibS5rS~{auAh}iprr74L;|(ZAYJ}gE}+{wLCy*5NH`+G>rXa1rSk3aHy>PPkdRQ@ zWU%nE|8R)1jylKF!ys8LFdxPdQJwg6CCY z+sQRQx;VGs8IHxqxQT589NJE*ZKv1F`Cpty#cgNU)6O*l$Un;u-YPxgmftogucOo; zkOo0tN)r+7PuX>{Gd6jbTRsS4@4bFgfhvd&8^#J+{S+-_IDt+?sEnbgkSVlN>Ak4w za0>nO6SN_buz^^U3Q>64A-|!+uD^X+&0z!DLGa#l$*w?jx|X2?q3U)I#{|uDc)UNk z(ub?d%VCOtxYVc^2-wJ|{{eP#r|fc|uSNR`kK~ju-vb09g9+GNf))S5cHHP)DGyy+?ip~YM5Y!2%BRq4;@K(ubpNLL* z_D}#|1|ao-k)dL=GVhQdcAkv%yR1TG*q7W14$0v^&$Z1Tom9>h7D3<#0Nwyfq|miq zfkq6q76l;H4q_id=*hk7atGQ@5_X_uu>&Y*AV>f8`^hgjy-z>!UUbXB)cBnpD>d?= z;~s!CizH}eKYWlr?NHJ6GYNSPt{4}|hv)&|pqcc~dFScw&osxEOI06R_8B`XQ4@>H zE6aUvZ^4D#ukU1w#|$DV%YU|aNdUE#%; z=}z0sL)9Y1&q7)sXeH@ z60G{A9Y5b&dh0})ddQd)=qW;J1eHO1uTH6-GQBlo@S>Q!CGnymMz@)+bcJu9zxy|9 zduxp0he|X{V=E<0hJTo0ZT`aGvi*zW+FKzDFp9OaRQAHDk-=q)H@GT~YHQQf#-5UU0hM&5li!_HgiYG9Vu;a*Z4AhRW@-pM1>%hTAL_Xc zC-?3oJ8q3Ii!?@dH^!70$L1`af-d%km#o13qFG?3!tCzdISZ#Q+*#Jv>NxEkLKp$5 zsb$Y^)lNM>Xu*+vY?rKeEr(G!~3wU`HdH-kmIXQvxkmarHiMPjZxH9N_%ex60wOc{)BW$1;QVvlWfg{ zTkZ#ohq%ilCwwW7MyIVmBY&hcYRqJi(P6epGkNpFqzw^+OV4a!uS}F=I?QyWzI1DT z(}hVb1)mRDT$zKhECR!f4$CU??`~dN`PCP=M3sl~9yyTr?z2bZ+(Bm1P@AK2hgbak zoeN-wfW5W13e$rQb1rzK@{U%fA?Vpt7}c$gHm%T7B#xnXV&;IQ_5d2yhr0 z&TiHD;xO}=`1<_ymu)!fh7YsM3+ziyb(TLb(v2y;psNM_!p2trcSPC3;F^ zuxWM90bClXYdZ|20+78=S{w5$TNdt=Rvt6XB7=m)3}AiiiIa6q6!PhW{U2}-&o?jY zZrywMN$q}gpbn_u@Ik8wVxIJ9?w5;qR%YD&<8P$awEfr|K%BUPrb{kJXY+VuCmG)u zx^YDY!2K%VHvu2+_1aLg5ZhmhHYPMIF%g*9{SqF)Lkig!*YP;3doJf3diL+1v~K2P zGal~1{O$ad(FyhQGw%j#`eqcwaArp)2Sk}15ypL-!L1~SO6O7i!`n|dQuBthNHy=0(6T`5{cmFW-<$HYW5X-@;^2D%F}`&E4`p+kJ9L}{ai^61X^lWE@BF;E=N3Fo;##ZtKo*s=7%wW=%`RYTA zHStJmUDb~l@$_aMwSOoY2P^FM>QP59W!tfwcz-QGWT07jQP2fj_n04-nCBL>A>R;uaM? z^RSd0>W1`mclb`bPioR^4xfQ_5g{(PLy%g&CGHKgVtIgZkNnmqJcx(303+sS-!vfi zD*VZ^*_hxtgFC#oqO@c7Z_)0GSPLcS?cT)!@P+JyRl6x4e5Al=*4^`fEeq*xZ0l3f;+MW^9jx3l+Ow% zBP0)Az`9?D)R*4^`9C6YRp#{Kn|E6!N!|F^XL2_f@r|ughV?+o5)K4;c}JP+=NYSl zKS~B?Pi%!E%WmXEepSqXV*u;iO`Q?a8aZI65$AjGxhSXP%;lm z=B}M@yBP_r=s7HkM<$rMaYY{MEIkP*6^|0_z|TyWn6NigX|kUUO3lAU0Anwq<4OO+ zl`-p6S1!uq&y*%`c#s?JPoh4X{u?S^MoeyN4cy7|`Mqr?j!o~3{fi7of{zRa`5s_b zFPw|5L}dK9dXGGv!vmN`T+du~Y#Xk9UJkJU50G?#0SOnH`Mvk>zu3t0JD{C3`ds0r<=Mtp)u>9M2ONrX zQ~nYnVtT5qNMEcq=hWjGq@GM(G=gKE>#Ll}Q1k57GdT;H&5d%w02}sPe_f8fdVafg zg#$`T8up{FK`Wq*hByZw_E=`o)Ka%~TS0Vt8YJ_eO$S8~K5QooGO5yj>VD}?JQGr& zQsR$9bp7&z2y14>O8cEioAM_2ZPD$;s+bMkpDbok3zj_gZbm|a+dPN=p zG(d~f_Dxxi>iIV73cmfQ7Lp}^wS%`g%S^kd&_osR8)ca?DZohs6qNw66Pt>WGk_5N zN@ul0QX3+q$1kxTX8)ehCj*N$-QCLUD>>8)9o{?8w)MLG&uUT#fQhgK(i~tY_ z2?fCjn#n=Mf$85t!3Qj_Ls)aL-aW zz#9vpnBD+T^!7~?ZPoKCsO25;|Hu?(k!bco7@+{N))!n}y{wiY1RkKowc&Y`EaQdw z9SV5|khKF88EKbLCZJ{lr!m%2AU0`ho@nZxm;li2BT9h!FObG}=5|8T1nG7lcVUGW zs-^*vL2E4nh`){H`WlA=mbU>hfCmvy9rkuRo>MC-@Q4cAEz(+>%mL|=21z@R**8sR ztlp)Ju+s{Ib-saG#J#k@Q;o=!qhGru&ys3KNs+RBivNPDe0cz>9$rcnBuW8*aRRW1 zE=!(IU{XW<+(c@L z{ctP)%yJS(-PgS1Ym?8SNY5TJU(hr4&uqjq0uTQeJSA<1#|%4<>46BbZ#iZN zmOG(9eg_-{^J3{L@7BJm=_N?*$Ry$!JovrSl7mh?2orKE2brw z4v6dn60k0JEA5$xNkMN|CSv zVl^x6s>L>libDBVRJo*t0g9Q1I8#-Yp?aoAG{Xs&r`8_hVY-3K)?3maOnok5U?a*a zcU_m+;adoj394O^oOY2B6_UPp!co%uQ#vI)(qZD&9*^glk&BKO$Kz{)s71b z8mja4k1q6u?l4zf{MO;Kv3(RV+m0@4}Jo_~{&tP5JM@1zp zL}cF3)U0$^rvrRHqLi&WVTLwTO7j5i#JYMgt%JX*v_2_mcw&P)SX8J%uuftaXaPKY^#Z*4@43s4`;vup0r1!=z&h$A2xls4_4^P` zHD_ZrWKO#!t9`DlFVNBhd`Zt#=okSwO|}N9SBwxx-ZJ6PrP112B;4Csv>Hhw+yJBRU+7(urD3WTFNSfJ{vri(Jf;Ddi)xH)$$=%<}^|f>J z>!rqbj-n=lR)FB{O$Cd(tglMjz&^~E@qpJVQyk=2du4QHy-ZKXrji8)s?=^>+E0~f zY6hRM=Jjnmrmt_M>x6`sfZ+bRTv%P$VO_3!VE<+-g$lE9eE1706_5nlvjD2iHl(!* z_z;L@YpIfctFOTWnXdMh(3l{qrrs`XWwf>msrNr2R>DlDXo1a&I>Is_MiG>0#Y@_& zr5>B3L@qA*NwA!2!^;ECcPdUFZmja9sm%`BQ120-!moAjf9;SWvk2-1`yL?^G25eb zxE5X07g*Kv6B$MCio->5*n=2MCNI%OCDGwc1n;d5wQRP_%C1)^Y#(w zaDfhm=yQ_~82TmyX&WMw0vQi(xq{K>!q0XkYD3YQItfy-P=FLD_50D6ygeN!LhBs5 zN&*4V0A{P#$&JWNzb+@0e7c%*5bnfV* zZe_Ax@lYms6Pc^>YfyUbpm%OoI+Xmqj{cOo7u`HrzshNjSqe zINTx*J*2w7w185KTC}je8LJXWRbgC(+x=Zt9TzZjz2|CY2JNrWXa+mLH8kPU*Sgap zt{)TyW*HuA>#A-pI)D8fyi+OK=qI;@PXXqcRn7B%U%NWTTq%-iJj>i}3}E6Q@3`98 zrYi@Gmz}A}?mpg3N`o3gpu=1^Z0pSD>L+b96Rax6*rQXMt5EdwN9XzDRU(NzfOEPr zvRW0M-QRck?qpg#NvcV4Lrhc_dZ;ZTJFj_1(XyfrLtz@p`VH|cbGg4e=b5Z#N@PZW zeOeLtw83@ic-Pndt7CVY3V-a|p&5|}O+2bkauc`2`Z0Qu@DqD0kFQT~q1Pwlbh(&R zZ)*kZuG_` zYeI*4^q7Mye;kd80-rv)HOVhTr@{!-pfFmetMnE&9?Y$ev1FjD*T%zHI2~f(0XX&B z{Y>;I33uSmm9;E34w z&Zmwsiw2F8q~e$@i9aOPARQ>2wtQymL0m*ClX#ApoQ&q;k`NApeQOJZw?rXI5$C)m z8AIQ?DGo58VZQpuAT)Rv-a1{I(gAT=3sDkCjzj4+Lh1PT5BJ2r5Wu4I+OcHd#lz>H zutvQ9u|ND6Xmn`{XBcwpL;T`Q97YQ7lvdT%qBWaXD zQqH1Lc$@=0ME}~KL2^%%{7DW>y+X+2Y&^QewphqAcm1^}G%o%7M7C3+fBM;Xvc-80 ze+QgoxI#?M`IaN(S{~x!029)q#q)uR4&iw4q0;s$Mg^ds5Y7C$$pJd<5~=kJ4N!3| zh)cezhqx@sG@bA_=sNu3R=JQ^?i>fi5An`dP>@Cr`)HWsOCq9=T}pls9o~+PxFjabL==j z$dTbXEQ-Q5Ql(}I3oP{XjL^mFE~DucV5jdUM?1q~rtP~}#XF>*4BN+VjWeKmo0~fD aam0x7--Zrq;qc`FO=;Ptszize&;LJT!g0d@ literal 0 HcmV?d00001 diff --git a/data/images/dialog/bluecurve/error.gif b/data/images/dialog/bluecurve/error.gif new file mode 100644 index 0000000000000000000000000000000000000000..162aab24f14801e853db548ea074717750baff0c GIT binary patch literal 1597 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 literal 0 HcmV?d00001 diff --git a/data/images/dialog/bluecurve/question.gif b/data/images/dialog/bluecurve/question.gif new file mode 100644 index 0000000000000000000000000000000000000000..67116154a9d5fc9da4674348dd478d6c20206831 GIT binary patch literal 1777 zcmd^;i&Gl~0*5ytJS`BQ6q;s$@CdMCMBrkjn1Lka5wSw9lhVipL3~`MQizrtqopCX zDcvfDN7ITKgq4O8nH2V%SaZEx*`^!1*NL*@#G9P%aXWR<9bI9kmuWLjdiC$P??3o` zzxi6)n)g4`TMbkLTL8f4^JVgSouO~Q29LWjBt&BbnURqZrdWoJ&G;hndIdB&8)jnq zKBK5Wq}6I^HVUI8$;Lty=MOWJj!ENy5t?y}ior=w$cKj~Vb6@)=kxn0hLbBb7|EK= zW{QjZLlLR0W){KBR>+OhCi4gzjgbrodwe?M$R3f1VxtOWv)k)024%1dMo=O|vRZu~ z&BX{hiba?a+jyAfj3zT0VcmXWeAXSIIfKEVY*rE!>q7h>2>L>l!32%NUZqA$u`vXv zJcvgot8rlz%f-+z?G4drh(yq^6>=QX8Av8tuhE$yhnJuuOq7ep!Kqh=ZDBe#Y;#CK5Rb5a zg3%g`3>W2MaVc0svoV5X(JW07PGcnJ!ynxt_Y#aqRG?65W?Wv6pLqCxhU9^Omj*lp zs(?rQ-UN^m2Og%1TUX}R-b={=yVqCdZ=MyFXq>I9@U8RtwZ`vSH&j9ypoGMglg|k= z#ghI(b)$8m{UfrfQdkDfC{8fH1T6c($mP0Up-{bhl@a_!BnMEi4B`@81W17~dYDn)}?a5`J~g#Hrq{b%a0 zrk(%|cF7uaJ0MSR7Tw?GwWgPJB3G7fE*`E_^e8Qomw&*f$~9>xHj9VukC1?M#>HW_qu)2vsSUCt6=Q*>ANDBrf*_Prh;gKP~%myu>G` z_6LS+1*cYu0;+@io0r9y zvQ5xO1O={}M?^{Hj(b{RBQtjU=ROuU@nsM`+C0u6#2`x?LNa7n*?5LRWrcm1cN z#D?{wN%_5ZzucOA&ACy2>3D}JS(pnTn&Gis*?jQ0j=19dQ=MhYaUnj06~-^h1ve@i zOShXUJNu8|MLnhN`Sin%HC6tLhw4Z3f?(F;s)OqJTj`JAn=2jk%kVKLJhsy!KGi;G z%lp3g{IRT3lckaW;n%$G%pSYGt?bNT(Q6fEe=Hd}J9eO{yt?5np7`DCjd)tmG%7na zuqk{}%2%WAybIJj>yjLyX-(BWhz3g*Dw>-9dfC_6>iFQ&>Xv{sk6z6#`FvN~XvVXf zH`5lM)uy7mH!WqkrWs^0@Ziw$S)Ns0s?58no-dc|M|KhB~tO&8|#v!clS;tw%O;yIr`l-Ch<@g7u-nN=X`4C-zE73BC+53 z!-n{R9Y%@tmyZ6rHwZVNlBqA2gDI7b9a(w1e_XvSUFgbg7VGOQHMpU@!CGML@g#it z@uCvn^P*krBd1*oR4{#2!7sDFK9D7N{rXB`0XVp{^*2Ms{OLShVRnM_VAY=|66L3N z0@4?pt3cc4o4nEg?oCx%iG}tRpe6n2jdN$sPF|bt=O+cDfWCb@IRX9lYKO48x-sGN tj-*QuG9`P2r^^F3tO>u}wWO|E60Qvb|7_Z}=HHo1dU}1$CJ+Dz{s+3F-KhWo literal 0 HcmV?d00001 diff --git a/data/images/dialog/bluecurve/warning.gif b/data/images/dialog/bluecurve/warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..964e14d1aca91ca55ca9936c4e750d8db9b12173 GIT binary patch literal 1573 zcmeHG@l#TF0Dl+=5s{L<^d(P1)FSnWl#IETppvnTYj2Htq_1$XQ$vT_ zTUqnWyoOr1+{Q`WwPuS`G^njOWIL`{v0|Q?6}Q-Cj%(lM{)7Di`~3L%;q&?2=RTj! zTU3P`^%6(|J%k`Gmy5}HxEdx6Qacp~yzySAHsmGTE>kqz0D^gTo7U^Kgn||WX>eYu z4!CfNs*Xf#I4;f0gCjw0=zE;9=pxgWJTcelG!g`1x0Arn1Jha%HG{Cq)F20Ql-q`) zC_CyEV{#-CGT<6?#5n>&a1n=U$S8YAp@}1yCdfR~M7S(qI5I(2rNjv(ZeDG%4=Iqho7By+nhFaO7XZeZ14bQ&9a3FSZw z`1cbK3qUUyr!I<8(eYU#maSoT*Gro3DJPv?Xv)$G4;nT^uYvTfXacI!!HEvMAH&%%6qY{D>`X z@6`G6b1m-_zVV$1X@2{7tNhsgVuP^k(=+Vd-DEp7qh4OV_s^O8skNCmk}M}{kNg`J<(lt zmeo_HdXmzYe{SFtT3u}B)WB$B&t%zD(a6P`B^}waLb1!LqU~Qx?HRa3(b-AMa=c)5 z@Uou6feGIBx)v4HE8NgKTss+_97tFx9ocp<`)YD>1}nMjq7CghdRD+X}5X8$NE z-l|>2Qb9-Dob}!N6-x_Z4<^uqg?a^?d`Hs0JU2z#$3Jj8(bIsae4-NtK81%_z~S91 zwe&Vkq@B#vuc|MS2(vR94-I>mjYEBdNcKeLWc*=)zHLRl=vhX6?!03V)|&)z9ARn9 z%{)BCJpNi`k?^RV4ANW&I;;W@r&LtzS!o!xGSa1EP)j-x<)Ndh#|Nt&C5UcxYYFt_y0h(! z-10=Ny#jiaMt>_|BO^uf#h8IVZ+zSW8;b7u5;hMXqgS+c(ga=Jst3%t(~!$EQ1`@2 z7c~9k7h($ literal 0 HcmV?d00001 diff --git a/data/images/dialog/default/error.gif b/data/images/dialog/default/error.gif new file mode 100644 index 0000000000000000000000000000000000000000..b6049aba55d54f407d2d64aa7cf1ec57b6118fc0 GIT binary patch literal 276 zcmZ?wbhEHbRA5kG_{79e&%jV$U%!9<{{IXN|NjFCC{X;#!pOkD#GnJ>gVZuG-_+Qp z^Wno*PjMNGaK?aEWjYh7=|S#c-)`MTQhcCI*FY#c&0Nl|Uh14PT%TH-jRJK8qs5N*)F) zJ%*KxJPao^7*+~1oChir<-f{*T9%RF1jA`YZAJkNfydh1DT0EJ8DH~$_`>)}^s6=} GgEaud8Ank7 literal 0 HcmV?d00001 diff --git a/data/images/dialog/default/info.gif b/data/images/dialog/default/info.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5e5a79a1a1c7b0991e51484ac4d697771329f32 GIT binary patch literal 271 zcmZ?wbhEHbRA5kG_{7Wr2LJ2p>-X>9|NsAg2p>o){$ycfU|?p@0f~UrGB97U*k$wS z!&Xmm8I{+J*|p7TeTN?#9x_<>SYb}{0X|1r9-RlAI*GS!8C)+Y|H*Q7a5m83t80G5 za6mw0y-tIJqC~>}S&R+_0x|ujIzXzXKZ4;&^${k8`^sVrKjk(u2rx&uhch$qGcy5c zAdiVT+})L#L4b?NHp5JZL4b!L!IeRfmtl!EgP;fl^C}i*20=NXyW*L*3mPzOXJFQ5 zJ|M_sz$I{iS&HEp{|O#J1|WS=lnF@j-#Eb_$-saA1Op2L|I-uO`Cp$9cz=T5fRn)* E00c-$v;Y7A literal 0 HcmV?d00001 diff --git a/data/images/dialog/default/question.gif b/data/images/dialog/default/question.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e76f6d26c19b896842c7cce8ad18af4be9e0637 GIT binary patch literal 292 zcmZ?wbhEHbRA5kG_{7Wr2LJ2p>-X>9|NsAg2p>o){$ycfU|?p@0f~UrGBCfi*k$wS z!&Xmm8I{+J*|p7TeTN?#9x_<>SYb}{fpf|aINu1o`E!6tgfUw{BBi2{k^6!GPlUDL zBvS?h7UL8)OJ)v{rh`155(??e4G9Vhc*~fXCb=^Qr1)RoW{_my|8$#y Yg@OOa?Nj`Ja+?(jZZk`8GB8*J06*|doB#j- literal 0 HcmV?d00001 diff --git a/data/images/dialog/default/warning.gif b/data/images/dialog/default/warning.gif new file mode 100644 index 0000000000000000000000000000000000000000..b56bf69f8e85ef801c212a44a248cfb6eef700c1 GIT binary patch literal 297 zcmXAfF-XHu6h+_5Yb2yqTWtuULn^xXt<>#{gSZ$S3~oAU9Mh@Ug#_H(yJu9<@|Pfp zCIxYE(Mi`1fY9?246X}z=AIVnIMoCq-i=FX7xXnehvW$7PFeU zKs|na^I3g3Q!4aSy}Ko=@mf4GEp6V2Uf|-g+&0DYc6dPTlPm3eDKz{d-yaE$<&P<7 z9gn;B`KZ--1aYqJbeJycs_Q`=_L_>|1u?5O{2Bq9L5?nRVAHrpE^#@P(ROWMljtCz zEr$to2*?3eLdS$yE~6MHCa?k~v`Z4QJSJWYOvlvAIAJP5^7p(+QNj0=pi9`3a#zvO WAN&mZxtg{qqIE2dEzF%-2&=!{#ZS}# literal 0 HcmV?d00001 diff --git a/data/images/htmlviewer/disk.gif b/data/images/htmlviewer/disk.gif new file mode 100644 index 0000000000000000000000000000000000000000..5566e474e687472e1e5eac69720e13d3064dcb69 GIT binary patch literal 85 zcmZ?wbhEHb{c@g&+S5eS(>U7GZJKVk@f~OF zHsSxqG;K_`H`=s;^9>x`?lg6$+ub&G+xYBuH>kVO?&5lvy6QXr4ZC~Y?%r^3n)asK zdu`fl45XbccI;?Y+J39*l>>VY@xtXb-zI?BWym+Cyc58#Ekt z@dtka_y7Hy{NDrqAAa$xUvVyd^(!x4UVZW63pDxP8Y7yghB8%Ul0Hnf!&akmv+>7A zFRaha`9J-_4?oymzW2uO|J9Q}nETGP)zwzL^!2A+|JMDb<+r~02g`rIQZODKx!_hS zV?`sY8+LJW>hjIS#_{<^#niLKY|*exZltg1m6`dOnOnE&6|7(Ko5@y^FO|5FvF-d=-ZBmN=?2f{#xl5{wli6~ z`tjMhsv8Ci*F>gRU$+)^JDOfBx7^j8P2DJ#o4o;D6ZRZ6KJXHz8{@T=I9L$E$W^VL zb9FOSEY+LAfcTJ^h4M=1J!nl zI|pl@-(Gp`<#)evaQ2+_eh|nG)0ckxkzY9T@1|90jS%WH_rLGG^?ddf`_yv_n>w!s z3E8*5T+#M7A2A^svB&kA^={_ui`G@m{B>*ivTo$Ogse@MrS}^y)5cnUMYENkk#_On z?d-N@s)1xiIh2g&f<&8K>`CHt&JH)~?n2sbg&s4j5lk#MVTI}oJERXf2{Ut!Ck`(; zJK86ftR1bmWO428@sOBN>w8d1=DB+p%6Fb^uWbI~ao3t=G(++Q)`y1*m z1v_L`T`6Yh0kooE7+YdN=$nJ9**|+4ohsH>p2_{%W*;e6+z#ski~jMt>v7>&yPDy_ z!*019ZEWie7?;m4zgVnB37JdbP)>K(gN#v1N5sXV+u{3-B+-`3E)x%rCO;>=;jqKM zIE*BE4S1hy{D7y#V3xSi@|V-atv9^+iN6TBS!~WqCdN^Jy4IJ|Mh)sPR(dydQ$+@R zPv}cA0B$=Ew5cV3*R&V=iI%Uqk|F%>aibP^%oz7DC%NQ57_WsgRbO)#M0&+#W*z;> zl&aww9Us30+bB*S4-(iVyVaTA&yaFFOft<6!yU7-6eX+_M+@otisa@*4P7^CAuwC$ zl#xT}M(AGGMf0`cPk`6)c)k|1LIp0Gz1{nnHuWA7>vQ1Eton4=aNsP`uGBBpe2?3` zmk{uyIu#l#@|s>+3wdU0>)Sh;o(pipd5q0tqM1<9qWt9rVch>mmW!lt9Hy74P>ERe zxgb@)Px-Z=b8*gLqJ_?cB&sp-T&Xc)gu*?)~BtD(nU!g4+doQkF-Js?&dklFP3v5;rChS$hwNmd9X z&%qdk9!oHT3A==J=}>C90i|3zjLf1c=?bpqdc>B3(-XH5&4F7?dUA~wgKfPUQ03pw za1ByT14Pqf1u2;m5HCw!38Y?)84AlSyB$4^<+F|*;}W~adA^ru6{(67&)t`Vid13_ zz(w?+HXywvd9g=g$>DaiFz@%Nj_Q?x9!PCTvV1^?wTMo53kR2;|1K3gsY*7GVjRP; zNZOcN$SixAac_s47P#(9QGSyR^`;a*2D|>NnBGKX7Bvj0?+I}7!IhZt8#3ifF}{M% ztwVGUhtD25kIWV%qc|yh z`j6yQ4cY8)_tme1h((WQ(L)HyTvTyA{ako8w+P9gWXz?xnef_eGAn4ZLkDJ>!>f7@ zU9QK>P99kBOCy9*1b8>EpyYe3;Kyvrb(rGP@(bqHHD<36hm!KuRcpt{SubrY9PXG+S}Cblc;lNSd{PXHi@cs~^HX z|5@OPaGA+M=2nWnEwCafL)+br^wkL}IH+5$~Ht<#>R$oH|%soaquX@;*W0i0S zsscV0dGjY+HU&vcdCbIPFm>FU<>n&gjcadE)6hE;nng=z)L;K2dI|JkltS4PlPZFC77p0dLVglK99oXq z&6wF9pG1U^moSYzl^$10I0l;8Ck4o5$g2)K;QCau#KpRp3P~Tii;y4nc-<0pm+5iF zz{U%C-Q)Xl#vW+rzpav9@%XIdr(7`$6-R8wGb*k^H9103bD0ql9MAjQ4!ND2KrQ&H zE)KLSAwT7b;X5rc8&M(Qm$B+xHiaTxF$Zf&29Dk#ka9F&Mw|gqpoBBf=zT)sxllAi zaS|%;DRnypr=5@2mlY*R1W~2f$nl>7~G{%a|Ad#C3y|xI%K#E4aXJRCjdrv zJS0q)Olg#0iR``@p6-Ddb_=AA(wvldx+~~95=f4Ez#<3wkh-`Sk?tc9KMI0-{GGC> z1Q`U);;RGwaeI`&01J*%6N)js5oK6DA*DufluSG^gToRNK}M+qmI13_w_^Xgq#Oap zQqoh^`slMd;eA4dKnQ|ndx!4Etn0GL{#qWZBOnpd1RO2AIPrZ&C7$LgBgz(j0eH^i z=<&M}FDL|!937<_rhs@?4a*@sS0NMVHn6H|u_(1T$BAdzC$0MQTL{ zz~nIMeaeAES4qJ3mGO+~6T|Vj9v@=DkqK&1LNI9UT z`~6?ZNe4=Y)glH8j$xP+IzJl7uXUCEevd2k@CAZU0mTR$bgqNwW6pKkVf!&n1{{DY z7Jqw|RUB=`eHOvZ0Iv#^_qYq`#)J)W4A~QcV<}91?G?3#0OJWq!)FOqISdC@Ob+75 zx`}}5dd+A1KC2Ow!q0a2QFIs4dK~P-9gq|S2@O#sKwuMGY>FvYkzGU$*eFuDO$KZ~ zVvR_sy#=2zbM$zzl1O0^hdc1+* zca3Ua=|~OfKtoq5{k4bhuK_TR2tPltxh6tY@N!7df=#KqFJ@v@*AQ#qj;GZDB2uu> zqBM?Cbo8O-oOt`KLlfXEW)t8wW_Pf4pn@37R;`db2|p9!r=Xa2wF(yJZec)OuG>S1x7?@0$QQw&7pjp!Hi{a#bTJB55J%t2dUC{^&iL_yo5BE zE7WPqUm?cenbA)dV+IC6ya7USW%R&%yxVkKL~yJL2aWyPr(%ZDQymDkPAd+<;DQHM~?Kl%mC*wV#OdVRL7ZL?h#*>4FjPk8>6q->x zo?buix&0&RIaYVO@B6%;=kt7?=Y99#_B(DX-ty@Qx{v-aM))@@KU2fQG(0>tJVnD( zQ&aLc{t*6~np&Bfothn{*H!7%KFO6dTV`{)`zFor)Yg@YJHa0XK}?7T3?xx&sSRO>$JW;wZ6Wxj=`AJYPF`O zTC>!e#T8blwKCO$xpiu-PqpL(j99^cEow*p58m_TL)QIYKJ@wNPk;XK zXXx7hR2k72Wu-eZOr*8M*xdZlhmRe9c*L?gbi+trb;2q~P3z9TA1qN8|GuwNcGxBU8%4OawAO_&*1G{jsqlG$Z9{kNHFY_*Ca zs3~eZQ>HEVbnB{OW-it(jGPX;VIYmua^vqc{r|2Elk%l#{Xz4v0?=7(!rkT5JFDP*>Zrvn=CC7AH zfd_+nymNXdVGP_XQ{i9C1x4*F3O8VLnw}}U&7d+D*29AbU8Y=&b#EO!=)(<6FHVS{ z!p+ws_W>fC3!53LDDiS#C~?yz9+8)H(JLwDO?aTopPC7?x&uD+X=@_-`jBla=C1nd zEYaVw`Cs^<8$y%|AFGxK2LrB988uXo&1IQ7y~wNTfxTjGiS`s-v|7Jm}W ztu^n6X4QAb6NSzyBbPoCLiYrGx6kpuM$b`CB{zf z8VRn`1~K=a>Di+yZ-J_8BDAQiZ@KOKC)S#e{G=^zbgIU*7 z_~Ran?I&gFN5S#!g1z?AP-v)F30+eWx7%RD4zANDD=TY=)Fkn+PgM|?t`bjp6-~TH z>45lFI}PgS%EFasxk0DLu|!jRY1g|gvKA&{(&s^k;6`XWb;XVr6#ZhrEU%LE3rc+R zW4DBDp};vkPrTD(;f&1^lQuWOvqkC$3#Bk3uUa-!@|fmSV#}72qJNBR^;n`TLOUF` zb@po&Hb@u%lucdTb%32L+BbLD6pH!E2MdgW?NGk}24W*Zgv&nDCrFz%=VKd|GH{SZ zg9A)Ehe%EmOZdP`>?FK59a1q(pA4Ap#?x|%BYSR6I6}2;mfjTM5scmChlVcN(Y@7g zC(l`maP)v)dDG{5#RxwSR8^V6C6MmWvrKHcrMu_(b z%EC|WfjT$KRwy@7iUxC}TOjy|3Jat_!Qh&8<}r=bpQUmtxK{fiPg$&lVCO7-`=&_R z_EX7oftI}(X!*s8hK18mkMzQ{nTD^gEFwfOD8%+XLfl>k`$trMO$D?IicI{zrP=1u z)QruuR5JDjTq}!E+D2$?#IqqozyU%{ITTK{zlLJOUqNnO!z!=c(vXsos#8r%FPL`h zA(~5E7D{ikmH@+uy^@%~Uq^fifsw)v*B?_%l)Q~&-1eg(3*JDtowm@-fDl@)PYPCs zkPeni+ZUGWE2U;BTJ)Gc<1>(e^Po^hJmN9`unJ`1Rz0p+7Lo^L!xyQIZz>8HmSkfMBPDnOMQ3P#LP(y06iPWnCT%d7%!pjFPJGyUwh$Df56h%(MCNMl8PX<-L^$bk-Xc2K~z#G8r(oG zqlN-3WY8ql_SNLUTHQ@G+YnXp6@ zi3~$2JADapb4hKRO07p$vkybbpuW|DCJYUA#rLRyWZtp4o^(dsJAZ{$YP@SWO^*)@*$TmE%G!1 zjlq~wkM}hq1uzA7nsnj)9<|Bln$RgoW!=c$dP{;f9Cq(vma-{lss)rMBpaM@K@Eeg zK5<*tL-4S}$-;}pz}!eZl5+{0S2wYAlZ@uIy_TM-$Gbe%g@s|$BfUwWvKyd%Dg-z7 zE)Zg<)Z?aLOEqaZ?Q+aD+XFP>&thH7LUjNgFiw09^}r=Kg9w9G1p~m2!_#=$WH0^) z%QYFMUqCr)vy4cjV74izBz@_EZYs;|cqFk3Nxv|09)~*@>`=GYV!#S~(2@%1_+H1p z$Ns3P^bzYra6E>g@B|CT-N#@Bj$M+}kR|jSEc#Lo7;^;^I7&k@1hP0nmqzsPv^_v~ zq*&l*$yDImtxX1eX^aQf20|f)fRR`NnGOA`0V}vVST+FzTR3WrxGmwaK9~1Z73X~k z2}_5BG%K(8z$^e0FL=^;xJeF!ex(K2H`)pURHGiZTpbP?@V||?2g1$;3`Jo_gEG`5 znF9ztf?^Z~;HUC;%D(7uUTkmzy5O|UfXH1(wd9OJr88CS*} zi2#Ezn{M`CfLsM@IdT=83*eIc03tEx{T{v9BiF(m8~KQ{vm_KmWIT4ECb5AmxE=S& zd7mwvm3133!2r+-I}j1f;&WPIr{_trDFU$ z#OWU2S;rAi%J{-rDI9nU#Bf7GN5FmRL*Btodlh6H;vvU?zKSf(zzi|Vv=2Dy`G9#F zf&rJXbOv{PsISXFvb3*ez>pyLc~a0K=Wg*)4V8w&x0SGvW|xAO(xF>y#*V@Oq8;TWjF zbw{12y>{_x-^8PY#kRuvvy_0tav{)1C%k=qj>L1`QcTo;L@$law_V|+x8RtyB_ty+ zEkdYpxYvCQf&@VrbKxC|cixn#)s|_{&bx$jgB5HkFK>MxypYr4>4fXa~{` z)`lWbT;N_Wb>UG4mVq*0mse$86igK=c*Ro2s(NobjM#%92YAxaMxSWPk*N7sswVDV zU|k*UJd&s?0MEe!*g**>p@i812kd7Z?c_;Q(YPL5jQeS z-N#Smopbm`2!Z=q*Qhf$|r@z*&h>dn;qIAI)W?_6o*-7eXL)j59Y%n8k{OUX? zU<0t@E4!--=E^dLDIgBk5EGPW+-de8Ev1ufpfZgEmNk_hd~xUpaemUosW6_gW%dpQ zH}0-0JH>5!Q@_-955Qn5r(GfmhM6SO_mLAgsp?Bv;q~VC{!Q?FR&S%z2uOfLDGHY-jb9c0_ zY0%_K7(=FV`4nu*FrvhwVuLIhWI++|4h%?>rh4L;ihNC{wr5I~vTB7_BTkR_n1jOLY6{cRxYGq(T%DyQ5O+Fl`luqr6bfG_De z%lV1~+NKQmDU;vr}P_NtwV7Z~zu#a7IN8s|t+BFt&GG7ztq) zZ2N}q_`nX_7;WndgR^Krw*7(TVGTPO#wfPjEC3#MhH$^VFG!(bq>UKJ4-TF1qURUV z$9xqcGq-yCTLj}Sm0>xK?7zb(8S095A% z#`Qb~$ix{y1~%m^Y*#pMOElj9-bap)F56P{nk1R7rHAC)X&o zhGLn$Rr}LD4A4V$h(+VYDvJ*J z+Ut?N<@%VBUJyS@^i^>z|CST*aJpYm^dlS9RZTCW_qby@7#r$&>xr=ka`wiZ(cH5C z=V8lPU5%t2RLqo1B^)LN)3O`rR%B;_QesE7T8pHX=1RtmxcB(-3#hdNRgXnS^dGNA zvM#2r%ej%V%cHwLY>Yqfm%kAuqpysPYwIH)`s2y$!udO*1J4H)qq}O(o7v}sxsPQx znrOrJdo^Qdqxw11{@sh?#-N;%DK}Vj_ePyR_tf*=*ifoSFAOB&$AA;%W?Mhn_+EMyAZ* z4L@rV62Ns7H19DjyJ_u-nmA8s2HFQ|rW}-%%sFdMcxdVH*w9rcA7z1Tu~K0ZR<#(^ zt<41NkUog_>%zFT zEwT&UjJ|WtQtZ|>8oQyeu^H2im?!wF79JQ@o(>t)!B{x+38fS@zmFxY8Ly^gW}v{n zjTf$q=B9B1&29S6B@36$SM?{?>WaC0&ATI({jff#sur4u5!srJ+&N>1wG7oFnYWfo zvD{{392ar^@zJ%$xM}O}znUyreYjj~%*P4~jj`C1Z~bb_*nLq%^c^Z&MT6fDm|^Ax zug2|w%>8v+8v+rDrFXT_1@`YV=6q_?4o5z$C1-HNLhCHIP)nBUJiTVO^uoc~4Tt6{ z@iprzE1>9~3ZdZrKz3Hp^yFygTs3YhBMo}SZZP!kk_Vbfdaa?A4pw3ZET!+FRmpi3 zy(2Y0drpM(h8?@{Y=UdSGD)$3VX)FVMoX^^plbc7XVnwMK`v zP`ROOUY)iaGS1N2QP~)G4*Ue&noij~!uT_9YW2YYttZj-=o{&6=%n2C1Pj?V)1)!9T4D+dH&STPc%;U2q=de zq9mTLFJM7mu)&71r9t`u>u9Q|sOV3%&t8KT!(M#XCp(l^5HQ1kbIl|&XHLJcUF_A+ QPDFE0z4z)di)iQn08(OS1LbSER} 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 m^P_TN~`e4sDN{#m$*vfhQKIA zK;YCrH(p6j>Pt$yrKNNVEt^uV#SL@YgX{Q$4JQ`9dfUM%ni(Kxx(~j znCgCS-7=S~mDTQh-}n1|-|ze0^UJOKZyCSo@CV5W^2fb|{TakxT+@TN8Jr%RCWF({ z)9gF`A^4e|UYwqro}OEr8zggsxFzh{^y1vy^c)`I<>KPvAXyy5II_q_FD}lJMK%I2 z$RhiWKb^(3#l^MG+8|jQoL-wIYtz$fb7XA}pLj#o7N^ySM+tEt|!!lxIhu97)7ip8V;{k&iu_Ej<0?m*03q zS2I^94!m)1Cw8 zKaq)xg6feaB@l{)Hb)~-RZtQyERGCsj%59+i}{}=ZtV`=bazqL4tpLC zCr)2_BL2*!uCSW^el|DDS4HU?$x^jIt6cwqW7!ugbC~ z@Z8`2`6KIz)l=cbg4r@i%5zW}JnO8V52v3kd7(Kfv5vQ`cDYBuE}$Ly3RnzVFI>eY2Bm(8>%uw<|J`ioY>GkDot z^$!-UiW2!^JLO3{@n%(-`)HhfBBbS^NPo!Wscv;I4Drz}{n^JRi-|kks z+Oy?c^R%+#gkAN-W*@6{-}L>&igIA7o#CQcyCOuFwN>@~OZ8g!@Vr`6;u9MNU_~|S z9%he=&Cb@8m}cq%kT&?KW6jP7yLKnyu$$GVTtpNl zNew04rq^c+G@Adal5AJh_D{HwR_9df2i|#|ms)i{fbiu4KhkV;pRoD<-|5~FvvJ3S zO+#H3VN|1Cv(CI<)98+J$~S6LF{$%P%kYjFH_K&f@Ah)TbHJ*IMKTw!Kh=Y2fpcv! zVK$V5PDQ$36Xt%F@}FqdVqL!<*^8%N*~v$)-pxxU=}9}>wo4rh*8g3}*fcyrDGUp$ zO@*w+MHlK^=~lXaPk~=~)ad$>RSRFm*tgF}4>?u!HC>3S4G-K&%a-rM%|_R3lMfVi zKB`uP3{o|ubIJgrA;S3^f>b&dtMRN!|MD#}cW4}ht=e$h~pK(X7LxMO&xR6_hQm*q`maPX9Ej_RoMSH*Dy8)R)21Z|ni|08(H4XnStOxfr8%P|F z==sDzuejHyGHydoojdW{ioaZ-irMgRHXnp~gn`tij8l#MPWOz%*rHSA3I%?+)ky_T zIA2qj+x*nqhWB2r7MRzCC`O=&!}H|4m^Xwz<54cB3j&HNojduXtGb7IKG&u~Q4>G@ zdsnxCqD7dn@7-BbmkVA9u$#r1)#&*b>R{F2HH*jt1o9%mK>QpZyJ$ zbwe;UKAdUGQr74?t<}Os!i7)|W6T{nuNX#8pF?EnziCvjci*dV!X?WqI>Zj6mY#)2 zbgn+63v!F(4e24R=Fb-ResqtdKK~-JpT^3Z41bl18_*49}QOf{rC5%2n@y=IKr2 zDPBgxdl3~&>Xz^27UCI#Z zZ%rZ*cU}y+<7&P#W#3-%0FKt&utw2ScO!Znn;083>Z|EGny*Dy3TR(-K55hSe=dl_rK+dTAaaIjoX~FF;074ih{C4+WPwUK;{QWwxR! zw*$40hcI1YPb5sY*w0dZFU3LNS$Q#ATW%8R~eIG{XN3u0+F%aVKO3zX>g1I76YnSd%z`l#ay^o-C0a* z8jawqN#JR;&BblBWJVSe4voC)aU(XuSU^Y{T(cliBp9!|5#p=GSc7pU0p!LYAPe#g z*i0`7On@(oswy4P1r$#V*xG{6VT1b#gUZ6e1#GTOqzd;P073?E$COzhvP}Zk9<+xI z&A{$?o`#?<%+bkrQbdIhgsO3q8ulzSidQi0qWP8TzB1qQf&6b^b^Wnn7MZeGz>*HpSp6he&yuTTqzb_!TN)K@ zCQ{iEzzZOarvTqO!ZLSydxO;$X3!boyISvKIwb}u*c zaE$yzAW%L&@d~B^1(nkLDq)V%h;r}Nn1|2^fmwq7GJ=>vlS5c4-m|~qh@pfdTo~hW zJzgQGN7-cu&(WknH0-l%Aw96*diS_O04Z)t=spb#DHq287d&cbgQ@@T1!4r_3_nm2 z+Ci&8Z6o;WOb!eI{m(s&Y-9<87$)e%<>d~Wd_w19FpA>ANR}}IHNrZB1rg$*!Azl` z6oa)@e4T<>3oH~_kT9h&tueEfd)a6otTThtX^l@HRCZ4xKqvx=g$0HlinHlpM+*d4buJS=QlPW}Eu-*-k5Sj4=Ug3HsB!yZ|w-0%L(ufXgDX z?YcyD0Fc85pz8k0+7q)mK-tu09WIdjC4zz3r5@@fhgjKLj0ITOAeVJ)TxfpRvPFTB z<&us8Oz=8QXnY=)vC5Rl)}6r5A#$jP#lt#0Td|pMWb6>4I{!U}jG4n*%v?m{ zk2)MsvbWQ0On-@EQgl;+Ls z0+4@F6iv!DEcq<(H)wWoT1$pKhDoW49L5D8k!n?SWrLA1;kMhE7bV zwDY)#0xxkuzVWJgBf~u9!t01I!CE>6qpZQYTdtT*gj;Y#}3@o7YvodtQ!Wz~*tP9X1@GB01 zO|eOkS60*@U1iy2I|z-tQlRI*2Qjj8Mh$j0s?mq^qE*5rvY~R!3V}$dFyj(zyY&hF zH2xKxn=Y`mxnKrjmEcndA$2pV1_$JWK>G<(Iox^J)Ge4$OT9YWsl zoGoJ(8a^lHVxsESg~pAzi~xxbYlK06{w3xPX3_kwyhuiK-EY_U@r^x|O9bpB+Wd%v z0&yh(3mUH&J=g`w4r{=2j_5e+_03o5ZTZ=W#IJk$zdF_VX5wMxx%<95_DE(W=j87C z$ES@$-1mU@m5WDG@k(LxROx7?5I=l4 zo=V5h5}K}R4a?9{@%YNNYiEy4&X@kQfA-40=Wc!ZuDd1^hu81A<-+Q|3zHWn)3Ygy zz(A$_q4>ICScXN;8U>oZbK4uuBS%g>?p$QEJiq;DdVSv;f#@8_PsHLzvmU^(lgFPu_GzvMLEe4QVXqZ7rf zQAlxuH=WG4Qx}w=6wzN87BdPFA_VOCM?hd{vP82C{nl3?~SE zuT|qKygbpW^YS|j2KSMedUz~2QLl`KXG*E6zt=RX{v=L<#H56S@{m)Yf-h$oBhQ=b z9Wj_`Y4iS&UZ8<7v;FXE?kWaUnb*rSN;W!(OQI(_x?1#@sABk}zHu zgTO1EJD88p`*&q^x_hjYn)lD-8@0&Mp2K`(rgXR#9y9TqHO@t=>ff7jxXhCZC*}21 z*Qbq(;x%`d*H48H82frK_qM9g*V0e@+tZHzK)6(Hob>mZa3raf)1k4PhJba;P>-sO zT37cyDR1NihNzcYdWQ>ST6(o>LQUO1aIkCt1L1U5`#J)tn5r)ejj8#zxOKwRgjd;= z@Ihl=_2y)&P*G>4ye~K=ecBri;V2-GvBav7KyX~rSr_GkTv=8pTJ49`F-PaZw>@2* z_s_Oc5BQTfApBw`4{Uu|tjzbTac=iZwJQ(%CrYceZ_8)N<7!rWuqvo{%MF!RM0u=v z;mab(s`-<7UHB*Yp45E!XbXUb`TOBx`#&v?BSo@f=Q z+&ci2GliMs!Ljk#Q(zTulSWzykCpg}fP)<24{J}SYT^KNBA0b4>2zSBzz;cfPqJVL z3;Nut`%=>9)v6!cP6-D?&uCS383#BTWT2*2e~crbX5DkJo!E|PBl(7hEsIasUl*)te$+X(8&=l~S7u3)aHE%Z7Jvn+xC&X>{Qkd7o_raPFh%hV;_& zH+zR**SN@`TSgvxTB&SbFFF~0Ttqu?h==-tS_uxmZBvY>lL^7YuaG+r3O zsZiG7LO3MS2-b|#(nOsPYr62@{Z+}QlYE)W#0ZoRmyi^HbjnbAJD6`bO~DLj|S z83Dg!iA#o5(5s)kii*_ho|(eGayW@W7@*EQIr8D0h@A}&8QfO2(VHQaO-pq?VPD}S ztSNw|U;x%x0ohP!bFpBL%Q(N{VQDqc+-nyvU4hv@NC-K9H6_?#LWix vL!4$0WG!BXFzO2YumwE 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 literal 0 HcmV?d00001 diff --git a/data/images/logos/joker11_100_774.gif b/data/images/logos/joker11_100_774.gif new file mode 100644 index 0000000000000000000000000000000000000000..1cad929d6ac58abea1a61164ba647204669d484d GIT binary patch literal 14249 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 Z0uLX1^9jh>EORLd!b2lNep@b9{2$dtWgGwi literal 0 HcmV?d00001 diff --git a/data/images/misc/pysol02.png b/data/images/misc/pysol02.png new file mode 100644 index 0000000000000000000000000000000000000000..2f962b00faac56c9a2318edfec4d9c87c4eea62b GIT binary patch literal 8595 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 J^-6xq{{dG^@df|@ literal 0 HcmV?d00001 diff --git a/data/images/noredeal.gif b/data/images/noredeal.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d960df605c7c48d457abcfdb5ff0f1dc542d954 GIT binary patch literal 1695 zcmW+$Z%iBK8GrA+f4;NNoE-x;U^s{|2RP0_-Sp_J?ar9gAU4@8ognJEb3~_jN)tOH z6?}+vceW^Eh+GjuDBaklLX1{b=S?hPS`r<`5!TiXDs2kVka{0Bjc;QgCS{tm%b(CC$GJq*~rQp zIeFt=ZewM6V{L6KD{tjSw>CDuC}bWLMjzeHJi0gav@rT~F7s5Mdb(CPxR*ItoH|&} z9_mwvi`m1Kslx}k!%qr_TZQK<+2;>(&p#`C{h;vo&*q*yd2(L&|D*H24e7bJZr|j7 zbo*v*CY!tS9_aixh5!%;k#oX%n}B#JZRAstmix8MJH3z1ce}S{#v;L3l)d}=FMWOd z(E#?tUyq&iE?C0c@=raVH;rBB38p`t?F^+tT_fGJf1p43!LU0Nz0{rLFrp(I7~v?k zKjd3XpiTX~&B*|YH+FC%UYw1Dyg!TM6d&<*4F@o?F&rFm*U@0}4vn?)L2fvJy8LyJ zCVi0(ZpVRndh6$*)6aJ#yKz^0Z)4X^1Lg|%x|1l?#D@d((*mpEPG|Sxsv~p#cNjuX zTEKICK}8$K*LQ`#Rx~>L=A`f|t5S(1P8CV0x*5>`ccTT>+PLmPV?p5bv{(zDkq~lHhArr@XKLnfT@lLvujX z6%qLXd`~4JGn-{rKPW=>*6As$e^`P{%y^N$Uc({5iR;pP34n%YPHqfnZ_GpHyQeok z(nyFm#%H&MWL3k6Hje-02+)|JJ3EGTF^LeNTRSzYD4`7hof&_ZjFbp6oR=k4Ukbi{ zZPk`lg!B(ZR|SwoX>YKU5=}0F;oZ9>hhdeLTVGwZP{=Cfgu83p0BCUiY!8p8EDO3~ zriFgsQvlvq&A%LW26zdf`m7@zrDAD~Y$_QtY)o4!#21tU42uc6^Oa+OI-|Sg3LP~8 zg82<)52KSNLNKgq^=uEm`&DV;jpce7O7c~(&%9J^O7T@Lyu9vZQ`L+ zp?XXyficHF-*ZGy3>}{sX90HcR7II!%CsPBlq<}Y9e~ndQ>jpG$s-Fg$+G4Qr^?ST zG-<>e{yF4`0K ziGlPUHCapeOn^3+&oCgV#DtAT49$52c|Pd>sI+{#;@lY!|fV4>xsBUP9Y#i-;+RV*#whYts3D3V9Rp zY)f`r(COoYZ?ZQ48dAqP$LpJQdAA9O*f{~9UPb-Q9~h+j^lxlfRRJae=m&^HPyw(% b{yHg9o4FD@T}N0TI@Lc?C54s&_{RSLc;5?e literal 0 HcmV?d00001 diff --git a/data/images/pause/pause01.gif b/data/images/pause/pause01.gif new file mode 100644 index 0000000000000000000000000000000000000000..1a5f05ac30c149e976efa7bc360c53df698c40b7 GIT binary patch literal 7556 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 Ef2<*oK>z>% literal 0 HcmV?d00001 diff --git a/data/images/pause/pause02.gif b/data/images/pause/pause02.gif new file mode 100644 index 0000000000000000000000000000000000000000..cabaec076d8e72e0f28345e537dc7c5e8a795c48 GIT binary patch literal 8251 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 R_n_&2HcD>Kzi?C2zsh;?=| zb~4++eCit@ftUU>U2oT>9F$TB};EM!5)wC$l<_wZG$a^MvY8rLe z_&92uH;fymIc=D?;;HZ2+OoZEC)?UDX4~ho?MvD0liuE6CQp7nd~$Vic=-JA()8H% zv9Tx9ldF@{Pp@CQcI_G2{~Ut<$m!mlhq}lIhq?|N$sXw52ZDd|5P${{UZYwY69}vJ zxqM5wX0ZQfN(?`LYwCgc<=dCk#Rg1!Mk^MMbUf&YhteBH2l%Vvz8yg_`r`MvWpp94 zQGp^7yHUBv!+p4OR}HDJuGLfw^WB4kGB?ylf~2N;ofc44EW>G8>aUrb+ef}h<+eC>#Ft#$=_6?n>KA@H z)=Dg}r((uN`?qB7At6>^U~A{8xS+MN1zx3T3yeuCs|?A}6^54e70S!WdqDAAp0(Eb ziU#D1`s3R`*pi`~j8UA!NxO)(F58AvbX;##bZjB6r-?x&MkNQ3eamCNSri)Ib&8c( z!A9lv*B_*Xlp2m0TlHK8k&na`@tgN%Saw1gxXBrS)5jAQMrOMHSB3*TzQzB+3Ze& zI6|G76T-1hUz~f!CPp&Lw*Y*mD3$?@Q=-`?)UolnAZ1L;@zPQ5kr;(Tk|R8|Hrz7B zpM%7kkDW7WvCnQEG)%y8Jv*GN9y$XRoj{~va$GprWm+z!hr!$gbCGdyRH3S$oGFVE zF7PQ3A{Ydv5?W_7SEy9c&b*K_DtuKX(619tvYF6CoC1Jq=RrC*%b=fvD@p=&EP;m+ s=1$s_pQl9-A*YU3+d>Ef{pG{F8`!>cofc?S2D$mYURVAT0>CT(0%etwF#rGn literal 0 HcmV?d00001 diff --git a/data/images/selectgame.gif b/data/images/selectgame.gif new file mode 100644 index 0000000000000000000000000000000000000000..d2b8c3f2df2a1b0cdb575d5391612e8bd4ef9f14 GIT binary patch literal 1295 zcmW+$e@q*76#w3RufOlwqb;8LY!G(| z>Rl^kQE4zv#1WetA;cK}sAeK6TdtI4P1s^H=c)(dX(_m5-gjTEhjdI5}Rydi%mRXlbhk>)==^(I~6NUJx!!W0;%6h^P$3gth_Ka zbmRVyg^^O>i{#e#sjY0Pl$|fH&X)@dSFc_L|C{w+ou55+CPJM%6A2H8!e>td>pvI* zKqs*80Cvs<^0JtU_S$R4W^O&mMLIrhKqwbOq2ssD{m@dc<`D`>-?0%_Lq;N|P9EV1yX{%g`9Lje%i7E&4FMpUI zCG;1BWwmWC?bB3a{@5;LfQloPi`%?L6J)9&zy%I@J1;_=ZYdu-yk}_=0S#C!r`da6 zU}TMpv=^l&Wf_Hup*hU6A@0Yjmqf4Hd5YvPJ`&_Kj+@fX%4t83Y8by4H!x8iv^^G} zuENNn&DCxaX@mnboN=5FN_^yN%L)Tij3MZHI;(B#qJYeKiea#d;MW;I=EUFeXKa36 z<(LK;)R7}O=-x;}qC)8x5fo>by}Oio1T)>F&k~s-2A0|a&=C*{vJPZd~g<~86R`Wb+8ptCvdxz5^MAp)A?Y_w( zxCSxqh)(tk1x4^?8epbHIxgvDmWh4q=_Zx7xC!tLqxk2|=X3cCDj#N09la*(*S1Fv z#vtaQK!-G&y?tmEr19N30ClZvT=r-8<7gJ59unz*wkU@xY=Vd=r0iF9SGwu$%a1sS z&-E0=>nB7ertK&SFz;Stvaq6;MDCpsB^LKO_l>qqWKflMnETtHUl-uo=zU=k>IeQ< xk<*VS;obI)C?r}vOl;$bM>?jxI9V;lo#IE?dn@u*@vRYUTOMTPN2Euw??2O~vylJ* literal 0 HcmV?d00001 diff --git a/data/images/stats/barchart.gif b/data/images/stats/barchart.gif new file mode 100644 index 0000000000000000000000000000000000000000..af67fca7b0a25b29a372f285d14152e6972a9c80 GIT binary patch literal 5835 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 BMLz%l literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/large/autodrop.gif b/data/images/toolbar/bluecurve/large/autodrop.gif new file mode 100644 index 0000000000000000000000000000000000000000..42cf5ce19b453603274127329715415b33881542 GIT binary patch literal 1311 zcmbu8@oy4$7{+hc`W^iS30~V%FM6Y3FY}^A(V(IuEkoRx;znAgtde@|>g*PxsKhbD zlq%L!iA80REu>`)b8I7(OqLOI!K=MgrbOA~hq@7i1|wTY#*#}$wmSS9_Wb(h`6Qn= zdA7Z2+PG=20#P7O5kw|KSr;xA*+c-1L?QtTmWu(W4Gj;2D(|$bWx-Iem_p5Zw8}Ag z4<;7Fxm=D5f+}Y-P#_QpM57U%8n0HXPCJ$hftU*xQu-=~7LqzOi4Hr5V}3Y4KkxN= zJqFC8$Lu;#j>#+*OWaN>m1LSrbHjwyYOM*buoW*xpePVko^cywH6B#c8a@K_dVRtR z>?W$@$7@-)UZ)8<$x;lMbjmVsuEYqp$E{a_YD#IdSt1Oy7$`A6R1C;i)=QFDBAMXW zMjaJ-jYdt01!p;?;XKe_GFT1jpc}0Trc$bL#l(Uq?~^$k4mE{FqhXFwCS9N$B2yt? z(|~#wolAmp8l`EvlBCm4nc1W-CeWA%iaAr<56cNOJ_Owinu`N*&hIeeTCKLm;d}^` zqZsFIsL>8B(2{6A4k`(K#ETLHQ4WylAgBvyD8$yYN|zbxX*3%Kl^8ANYz$+sXQ7D# zb3Q!Ez&S6jQ9>aKl7668t800`$U~nAPdW&%$3+pC;DOaN~n@O%OkgGAUXvzt+lgzfA|E1&a=9eJy99e}l@?sN+WFC3mvh0ni@tY%(R=RI?YGV4d zTxI@3a&RU}zoIc&r_V++TTjO(U@Ns}eEkab(cQDB%s1QLmR|^#GN;b9c=;)|b4L%a zJ1apLjhwx1Y@x6G>@(hPSAOuz*u#s@9xX+cMkBJd=dRzlSs@vX&W=Q^o(MACw14!J zPeBjfB~DT~k;0-qcMk7b z_xl3o8`ZJ*UhT+T+R(dt&0y!fj5N7(f8gI`gZ#q{pEdn@q~ac-gS$=Z>f zO{=@kxDRa|=R2Rt#};f{et2(p^O0Q>6DyeQ%v-82Tbd1r4}FKS@_`GjCzpq$jA7RaiyRiEJc<0DuSFUB|!1S4=(p&pRE`D^flr@9v_jt)Z`Q+`zfy|UZ z%r5DAtZ`o21V&$8tuQhVPX3j_359R8`PL&uP$j-!Ge#V1yI@-X@sqtjsXj3pMz?Km dJJ`MAy!6lRcJtA}%GXz8@k;z#yiJa5{tp=9QZN7j literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/large/new.gif b/data/images/toolbar/bluecurve/large/new.gif new file mode 100644 index 0000000000000000000000000000000000000000..be3ed975a118ad8ce22239d1b529ade7bf83ebad GIT binary patch literal 558 zcmV+}0@3|PNk%w1VITk?0Hpu`U0+=Q005JglQlLq=H}+??CkUN^L%`KYHeymTSF00 z4{mmC{r&wpr8s5CXe*^C6=W02%F0G%MTXmqsPC~vv_l$r7reZ@NN7iznwnUzTPR2; zVq#)ML_~JcdY9#%Ou0;jh=n&9ST|v5VcOc-q@<*)tE(0l7M7Nl6B84=zq|kc z|NsC0A^8LW3IIO%fwF@KLRX@wLr#!MGF^5*0E#Pu;UA47ffwB#IU1De!5`E5?QNX z$&)Z*$e3Y*2FpG#Pc}4A!vstO8w_r|82L!2(RUGUT)@!*3(lh_2}HP%BZH141E8Ly wK@~>}qD8gt%#mZqMI~9qG9Z9s2L~QtjUcc>H^2Y{J)G#>%eSxJB0&HEJFJA?i2wiq literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/large/open.gif b/data/images/toolbar/bluecurve/large/open.gif new file mode 100644 index 0000000000000000000000000000000000000000..4a772482655a5013313fe2e85e8481bceab68ac1 GIT binary patch literal 1377 zcmd_p?{5 z8yhUmYr6D+9=Hbp3WdUKHX~jONs+~LnB`b0MG!utMx$|BmoZdGWZ`U*rb8eMHS&}z z6=yuo7M)H<}?I)-p_luynH9tiaN{mG~=$q{ak+vli~@@a#? zfZ-TNheQU>rI;9nv82~xs>$*QXaRF^j3*(a$KZ0bm>O$RLX3|hxZf7VJ^2I%K~O%; z(P&Rm&WDhYl#UjXcw?g>=r(7#P&5|B{5FAfr(*svfpP>?5NVsuCP_IdFS0n)Vq7L= zxMvAFWRai{rw~K)ag2)*#Vlhones_0&Eqs;Eo9?d*jY&684k$_DC)C@JRpNP(`=B0 z!8qk9h|w&MGGwr-YF@CXg~4r7AtNPmKHMX+p>WXg6vr_|DHlU+#e5=8dqgG}kD+o_ zz+otgTICc0!+uGOCZm3u@E0;dDh8+7r=u9uzs1sG2#0YNcNWDk;sH^w1@l=Gv`@~b zLvFL%2~v1a&Lud~Cl@kt$}5XuDM_$YD9yrhUgS6y@mSfPB>O-5_29W3Vt>VZ?-{eX47UeeQ-g;~0ti`=!PhN=xPvISp7F@XV z`H`aRk;52-ZPc~l~%WE)bx%KbVcrMq^ODM@sDTyY1{7C=5Aa$ z+PCuB&m+$CxTI8<-5SYE*X}!UvHN5?vOSewh$+?QW98DeGn>- zbyX-d#vx5#`S}~#ng@SH0u6Jfx`rE(=JvAJ$~(1cO~c$>gZ<-mf9Q9W7lg(84|m;B z7{6b79r!SCX@h?4oVlkCTXgSVJ+}OIUr@h89Ryl8x+7P$TcP8J@b{FlyLg+@F@9n{ zd};Pp#ozj}%F(7?p78LGua*Vi>(?Tcoes-V`&hGG>8&%at6K78&7RsyyK~Qrk+F_B zb3dCm6g%pR$yA_wH@)31NAsBgA*XsF}9da&ZWO65Iezfym?spdi5 t@L{lFIZ`)IsGTsA!nsQE!f)qqdQxE9El20%#@oL855Ju(YAb+O{{sr`F7f~X literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/large/pause.gif b/data/images/toolbar/bluecurve/large/pause.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c3d83a7544e9af09da5ec40314efb6f53c3c482 GIT binary patch literal 929 zcmchVze>YU7{$Na=7NJ@q!;PX;kIP#P(dWY4!H$eqF|FZs7}(&JV7G(hk{z9Z&2t9 zwC|ub)Wx+^x;PgXm*Bl^k_!?<7eoHQ$NA1V_eWY*Q#Vd2Q20;*Ayg<7DwT?17?x!@ zj??XSUDxgPdV|4WG#X7NlOPD@^LZGCQ53-+ukxpY5U5ZUdmO{67hli#qOe+XVM{#_O6?(z z@Z)Cv`b;R%bWv>~9+5yNv64rKZW1~cN?wLXxTGW7iZZKHXzj7LvWgF4cl0}#K%}6X z{JyNq%aP*jv4nx;&h=xikVMe6U&6?wO7ZD}a6wAZvk7K`I&%mYq;pmLWjO#QzK{@E i8_Md^C*>j?;`D@zEVJH9xO|)c+Pu6<`oaAQ4!!_he4C{J literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/large/quit.gif b/data/images/toolbar/bluecurve/large/quit.gif new file mode 100644 index 0000000000000000000000000000000000000000..89515b04e195cd2975ad20fedddd703aa0876b50 GIT binary patch literal 1431 zcmds$0dEs!0ETb1E$xk!a?Ep_qosh{lF&ZW#M1&(pDqLnqF85N3l zq}w_;utFW}Y_MY8%CeCO4K&zjiA^^K&M`rW5?IJG2$_V0Wg|)g#?ARReEz}vym{7F z^A)S>4Uhr)1A-I^MJ_1;26fu0nVA{4$NhA2)Z_7xMkE!nWpi1Em6AQlSb)b-wG+T{ zNOs$ei9~{7n7E&r9FFvbcnndHB2$e-h@iM+qa-^6c#x13nYe@HTt2 zk^(N8X6y+s69@!28gsC4HXZ=HClvq;sl#vzu=v%hSG^(;c9UvY7xU3B0ek%5`pnbE z6h-BHaE}ZKf(v^{j^lz778ex=g7bo}FD#@Zww?gMFidtC69IN27fhv6ei5CVoMb74 zqChqwrepSjq=e%*$IuZkm5^;gH)CVeP677_Fo7eYjix9L#R!2xgHAl;CNK<5g#`z| z0F7khj--!bC@LHdyBsu4+c{Dl^U_8PCMh8q1bs5^7mXZi0jxF`e5^q+Vy4O`1c`s2OEUkm`NDF`#c!rWYgix#?KawZpNk8gN{{)u$`l_ouSz2hHK4@&n8NZdlzlK6Ur2 z4~zTvviWZintW$Ua}B`x(W2K6>=zCHe#t9@E9(I*-e2ddA0 zP*SvLyj-<(&+86pUqO4920b@oZkw;a(Wq|XyT`4o>MX&~<}DosZ%FUo-aYTd=zMzU zbLIC>RL_*$(+?97gJsiF=aY}uZ(F{{@>5y!h(2khzMI-mP;nblFR4>SezPyv2jP`R zx~DZS_}WKmtw2>bF4ye7)gdFrwcD$e(Hg5(YZ){Toz^_77mS}ACa;*}^R4Tt9qsyc z`ZMRfyY$V5rrI-}wfW2B{=swBm0xr>9n5Yz-=xxx^}O1Tf`aXr;IfGe138D@(pEYR WUT&{M%(adEu;%pCK#@ubt@#(j5tv{A literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/large/redo.gif b/data/images/toolbar/bluecurve/large/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..01ea4dcafc75467e69087bfc214e9a522dc2d55e GIT binary patch literal 751 zcmZ?wbhEHbRA5kGIL5%Rd;jjW8`nxnO9@J;X60rvFff$NJ*8>s6A%>8yY5QWf-|Px zDH@s@3zjU{aqe07#vArAHN3pM=9V^o!I3FBr6Dn?`!7A8u<@Et(QF}62^m?riPL61 zee?C!(~nmle>{Er&F)JtRvvxSyWwiqv=c5lb6Y!FW8-6^Vq(wUczogh`y)4AuRHN% z_U=2)YpzCj9|~;PGI`o$J!8v*S6?kSa9_dLW6q`%o6kI*zVl8@+YXn))vO#mcAg=X zb5E4cJd!`#{zyK(d?!fOAbBotJ~pOvC%qZUcvMudOq(w-O|KV&H1G?LaW#DN*Or0ILRxiR#aDLx)+%z%u;i&W9OA9oVKfG*+qUy6{Cnr zO17E7g%j#lTq;?3{`2?W`j*auGFs8?n=@yhef{yr-hKNL`uG3(^EW3q@9U4>Ji?M1 znwn~sKCLrW?>&CW*xdR*aX|4W3nLdpJ%bJ~G5$vR;39lftymql+|?e7)mZ4IVr3W(D0#y$)$6OX5S1OiB%0OQ?+;*3^o?2a!%8k z-ISI2F@am0p?O-_$4P=hP5KGjA~YO2PEMV6SmvOGz_QjEhQ1N3hKkH3lNyZD&MinZ z;%GSL&3j@=;=;7vy&?5pJRZu;XFGRwcyBqF@bCV}@T!hz&OrAE`X|{9U zhrUH$7p?xjy76se{)_yOhauM2t@)PmJGnS1#wc~2?Ar5t&z7HC3SSh)JdW|c@2zxJ znK6pd)XbE@hk>Do!Dp9`U8x-hKZm%Cc;)KKIiKe^-*wi#q07C4n>nAEX)hDQ83u+1 zhS>O69yK08EkPAcmAXrHf@cIPsw?y&^ek^%DqdCOy}--J!zg7b<@>-_=CTaKG6wk& zd6Sza3`Gn==0f&|?X|CK3tbdqFlN}je|JDo08c2d<|$3415E5P9AX6$oEe;AVG>5C zjfJy?86+8$n^YBdD{}gCGR$OP5oWd7Vwd?WlXDIyuQgxt#gxgfCo`lmSgo;%JriH~ zu!?arBQGzn_+*KID*+ms8jOxivb*KD>v*_|xmfgA_%{o%gs||R5a2$~&0Nj$e-sR8 z2q^w!VdMg)CLIPK0Obh=j(-e{oH8C8794Em5aweM01CAVaC1pGEO20CW@d5;;dsE% z#KI+Jkn!LFV@oePqss(?My6ISF};Kn9~_uZHL;r&ym)Ysxs_kRsY620aRHkUlNp!B z$Ht~kVGXMgkA+FB-C}xddm0`lJ#LUNO53p@@bIw^QS*W)7dAG#^UF)uGk9tlbO>-e zUgmpv@O$go4wrviDnTu;xRl)|e0VzX$ukEIy(u0$HmK-MKI-dX!RB(vlSeev)h2P# z41E!$*|jbcgMOZzq8uXjc}0@z!hUTwW}X9+o^oW~jAAReb4Zmbwn;##Wa3$Iws$Qq zdumQHr5*6>OsqQbZS{nf8KUO%p7$s|c2aiK4qr9pp)}i~nZ_Bbl>CC9dgV4T#_Z9! zY`T!mG&{l}G-~5lfn$aJI~8s?+7%o;=AY4$a3r;6tKh*}bKVEXID?idJQVCc7%(|G zEa#(JNO0{6SLwu<#CyIj35@N$B1g6y$|yV$C?Lr1>T*a%EW+V9tD?XOXYP{7z;@Zc zjv@zT<1HGFi$4rp;VN2sMUahWxvL0+WaW!Mcb4i06K3T29yuu2#u@qWkSIUr0eAU2 zgY6QNW^;xdmoNKt)mgTZFN9s>%+bX5v_`%XR|(xM7mqQQ>deqk2+L4tV9W7arK!Nk H$Y2csVN}3s literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/large/rules.gif b/data/images/toolbar/bluecurve/large/rules.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6c6fa287919afa624b1a16c7b0146f1702a2e46 GIT binary patch literal 1517 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 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/small/autodrop.gif b/data/images/toolbar/bluecurve/small/autodrop.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bce94e99f85a96ec9b28933986cb82eb2c8212b GIT binary patch literal 1115 zcmZ?wbhEHblwgoxc+S8uWlDEps&BZPX0)$)T}{!Vg){8*#5$wc&$NqO>yfzFBsM8T z&_ka$KR0#l#;L7b_4^$fFPBO`?UYJR zjF6X?fB*jd|NsB*-@mV~udkybcBxPN+nq_@@3hQpwbxVSe7;-d+Y!Z2yCq+(5WL+Y z8mP~*d-p~SO^y2c`XXO}kEct1+-_bu$z}ce^>Q)-rx)@5Jj(ZB5BH-5+*@%qxdUwFW8-7(?d@ZHrN5ulo?XMcZwAw?Wz2^wIdr8M zaw5ckoRF@)_*%=)pFh7ZobT;s)m>9~byXO4wXrQo zWKWNBvd~w&S|k4D0RQ$$th}5IR{9J(JJ{FdaC_@8$C+|IU&r})3+w5{tcRwtMj5l8 zE)zO2ll5Q^+ukaUHR;@rwnoK{+(BVm-* zvmo%WTeq}D(Tf`g7q|B}+BcZgK2&lOP;~A%QV@9LgrJJ&6dg{737(TT>d&$;{Fw5# zo8N7L%S5AAuY+1)Gt6>}SiPr7$j>=;VNPludl>lpFHi&UDZ!0_zZvo~+veERh1=+UE^0qPQYqH>`!GiS~;3pMrG z=~H&GN_nBYN`Q)B0Ds%V4juNb`t>t&)-MxQz|AVQqhvN(v=ue(D`QN{P z2?YtMCo<;0T5cO>6POriz20iio;{)|!ZJ;gIpsM`O--#Gt=da9)~;PERUuwjS$OBp zo$cGVU%Ys6@#4k2yu8WD$pJwDV&Yc3bfrz!uYsws62r-4c3GFLJ1_o;Yyyw5& literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/small/open.gif b/data/images/toolbar/bluecurve/small/open.gif new file mode 100644 index 0000000000000000000000000000000000000000..ac8b38efa2fe8b38a5c06667abe9b01c39886b8c GIT binary patch literal 727 zcmZ?wbhEHblwgoxIL5$GQC%S?CB(qMASEp|dD>)NUf#c7pZ>lz_syw^I_e4xOBR@#nSQ!3?ZeqATW02!rg#)5xoN9N-MM`D)$s{0j`lr0*!^&C z$G$z=u52kiy*g{ptmvK7qIXOW-ZCjHHa>R$zFkK)_TD+a?a_@xcQ5U`d4A8)Lp$s1 ztF}#w{PFJ2_nS)tf&vcCOF6lH#+O^`!aPk{J6e}FyUBrN**}1uxF8xV*kXUtf3SwCcyl=ib;-cXea+ z#kFN;R~4OJUSMx;vvFSSm6O{}F3p`&A82M~`sBftqYE?l%}UzT7m^=gA}1@$&(E(Q z$)~9xq$nezqAb6A|L*^^1d2ad7`Yhg8FYYA0E`g{1_t(j4fRdUEv;?s9i3g>?F@`e z6DBaT^fa@wvCo{z!8x^wYsO4&ZXRAPz7;E1@V5%EEfL%(BqS^%BD!Oz*py}g@y$XU zha@DAN=luOmJ;S_5s=}KmAiaJ{@OJKMI|LB0p%tE6)8nkHTCB&o@>0;(9}}VzW-28 zM^}&M2anLE0|yTY>;G$M7IZ$QlX%ETL1)>+8Euj#ER$9=GBp~uotUI~`@luE9nuz2 z83AUK7PrYr2NbzjII4Pp0=BC!7q1AEcWT=pRMF%y zak0}PFVQ5GRf5WLtg@PoDxH(odrj-udumC}M5CLMzl)zXEz!E@$eJ+gk z0;0J1oFi0QF`pHTh0`dYZ3+c^4Gatg5TjUI&oP{1T`@uO0N6@LaUpMJ3lPBsF^Vbc z!;}Xx9&be+KwQPWVy=)(3FFq_CXh206zeT1^D59=z~;{gaVcZREzJX#4YxE8LR`h} zXUxj>{7~jH2B3LBSH)PI1)A5eY^D&@gN+8k4aEx#f)!eUE&{6Yo51SJc&>Ak570oc h4-Nbz4>+=SXfj&>Wr02f1sISJV0b`-z;b1<1^_qS+Wr6l literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/small/quit.gif b/data/images/toolbar/bluecurve/small/quit.gif new file mode 100644 index 0000000000000000000000000000000000000000..d0dc32412bd728178277723df37b0ff84e29154a GIT binary patch literal 771 zcmZ?wbhEHblwgoxIL5$WYG%s7z>x3FRTd;z6DiS>DBqQ#)|aC-u|RKXiQ$xNJtsqf zS(RpUYpoYH+AV2uoKbG-X(mz?Cc2`-bxp6AudOsMFYn}Olb3h6Y@Fn`eMYF0nda{O zyEQa5=Fgx1{{4G>ef`#C#T~Q4_RNdgw;(3eRb~D9_5c6>x3{;q))PLkC@wxeeqMvq zmZ?E8KHBy5^-9vb>n8;tTR-dPyStBfRL#%T$j{GLkrSNL;`{CC>1SIrXNEB+1nRSM z@N#hSOG!)h_xHyK=q;$QezdjZe1}X&Ah)29EWdzMKv00Rr0Dz{_0?_eqT(uSY+N#O z2FhwS+&seP&!0C^<Ss1w(>KSx^u>gz_2?hrCe+~6b%`L5M z?H!#R3_ZPl{XOlBOw25-Z0sDI92{J1+>8q+O=aWY;pOA!=i?I)T*x>{h?QM{mtR;! zSa^--h86}faYhz4PF@KSNhv8w5kBet^)j+@@(PTK$0a0{lvPxel_ga#iK(fp%WG(I z@`)&^XnlSl^>k7F^OrBRHFb19hhzj?NSMc+S-DYg^kXv{c?6mg1;DBk_AMa+FmFG9a%I{S&LOMa^nS;N&Q+=-e_z(q9m;5 z%T}7P^E`9UB1Y!Ef`>;u`5n2w-`sJqp{Y$U(EUdBCzdV+?!Zg65sFV4n%NUYl8#6# zDzUW+1uvWN*Li7|X%35%M#2LH$=1UXG9ep^QuV`hBAGH2H#~Jcoxo|(6IoZVr@vU+>|{jMf%c|Q#S25SJ<%RCJL literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/small/redo.gif b/data/images/toolbar/bluecurve/small/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..c12718782a15a6a356e0e2662ed7145f889c7ebb GIT binary patch literal 707 zcmZ?wbhEHblwgoxIL5%RV95egGt;#j*JkBrS^A|)%B!_@w5B!8OX%67s-e>~b!GRu zt7_(60YL#3)fF0=8vFtRMy6I%7jN8o;rY}Zw~ObT(sxUgmXRr~s6KiA`omXWF5P~5 z=FZzg*IunV`FO&{YuQten1xozE30bj=v{yE@#u}$o6kI5b?niC{r6i|UyklM+pXGV7k#QW2}!Hw)%7nv^q_m=4bQ@5R!OrJ zOoN;pOFJ zU|=wdpW$1wLQu)xDLgxS&RN6oi5gywyu#9Eo-wSPJgSbl0z#rCi!OL%_l9IOOG-)K zeDXoX(EjO**WNyUuRne-Dyx!IGfuDUId|jn>aB-j<74$rEdNss6o0ZXaxv61=m1>^ zj1dV22KIjq^-aw!t!?ccon0*qj7;5K%q*;I6FL~#IXIc8wJ~yWbMWxa<>MC+6ciE` z5f$U_W)qhHI#@dCy?Uc=Y6CpK^d4gSLsnsV12qiGp9wMO;(0mI!R!5TtUn zNxQkl;^3sEF^jaKwj9~;&?#W5D*r6KtPQSRYt;%4HC+ZXc6C4>b+i7-ak;jmo)tnC*4;C60 zv);19<-*A4$G+peq}ZZ@$$+TZr#o3XNN7il&Wd%!a+uSWh|Gq0#&?y`lV6QpP*PA; zwo(~x79dt0Tb)^Z#&~VOYk9nP8XFoES`sKJC|z(|VY^;Yv`%rtZV@XGt+B0u$bJea z3CPXJ)!NmnwyJ2pW?i~kM6N(du|__KJO&;HYHeyvX-llzswkr*B%vS~b`}B(0vSOV zBt0V+B^DzyBLDyZ9C#TVBpf!EGdXiNU0+=bG72S_A`cf2DQzbUI0+6)3>IV*G=woq zjYnUWT|kIFDw-w(5(7O)JxhB@M~p=;rYqy~<02>`F{drG!?dE;phtN{LS;a9sdPfF zKYqx3WW8cJsx~H&BON0hPP0ois4#4|Y8W^dIH5HVG!7L}6aWAJA^8LW3IKlqEC2ui z02lxm000O6fPaF6goTEOh<^Zyh5-Tt0|W(s0|o?)f&d2y2?`4g4Fe7j1DFsI5)%{@ z6%!U07#SLv8yOrO9v&YY93UYgBM^xMBpD(lCLtgoCnzZ@D=div4<#)wFEAx4C^0fA zGc?mC88rd{Ha8zAGB`OpJ3NR3I6Xc;KsG@YLPI%3MQU7vAdC_# zFk#Z9loKCF2nBc|1PTu%QKU>6X#>)L0F-$7z!);(2w^F634j?68MyVpaYg_T7HHBOVYER_ zhhAesS{M)jVT}wnJ{SpT^FfK55G{thffGkgnlg+6+)%;{#T+4Y=oG1Ar&OW>cTlK^ zVIoC8JaY2*Sj5N%9X)&O;K9+N2%kPNF=6520}G8TeqKD;!V(h?C(;!0EGV(RO$`PH1}SN&fS`cZj#g7M)2!UA-TQZID=}Z*F8uw8 z*pCy;Ni#_b@P>*o_G@xaR_9uz$XO!HTqVQc=H|9@wcv~GA|=sW(_46N924>N zVCUyyl#%AEtE;=(ReaWpRmU8 z{&Hz#nHtwkFX3)MmJ$XAUS3{*eimN|wxiYpE^G|j40xoN88T$p=g4xb-MDt5DC;&G z@l}e%U*36bg6S|Vb8Ioi4q-7C0f&YL zMiwp+g@gr*8X5W6Wi&bz8k<;oq%0~J6q{N&MYJLc3K*T)m|6HUZX8(H+|IAy)FEKl zz zSPT=DJ6IKC{wqpsYW5IVt8OFYHXzqoR6K)NEoq{PWkBQ%*KC(C2|I5 zaocGL#)B8XOqk`?dyqN%(4Pe3G=_s_S$BR2I41MHXv~ej}R2^YB)KLB5V!OP31|v(fcf|*GSr$en4~3kW3@r*# z9Rh9=ks+x~teQMc_Z(yej9e6RZYFSW8lRc)Krv!xgNM=y-X~2;-3&!Xn|cl$Jk}p| z-~xwIhs7k0ya%?AI8-bx1Uy;YTsqrSWHS~pu}xmXpyiIe~U literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/small/save.gif b/data/images/toolbar/bluecurve/small/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..31fcc983dced74878b84c0ce542a1f6366e6bbf9 GIT binary patch literal 754 zcmZ?wbhEHblwgoxIL5#b8z0NSz+h@-x_0B*(CCRlAxVptY~H>1^1>yDq7$dOdKC!? ziB6t2IXt?trg3>&*V@RaC>khH|@C!nmOXJbY6q`rwO z|NZ;-`Sa(^TMs6twv<-R@$@Tc>s(S&)|8rF>*|@iXvOt8i!QBRyQ{o*LviJr&YmTO z<*S|Dv*s>3v3|qe{L&RuW}WJtuso+|nVnN&X8z)amZj;r3$5&;dL|v7IcHl+*1Q>W z4mGx|u4`IZTD2rGeU6z`$f~u6PMx`7VUucUm+$OZ9hWl8*3P@7Yfn^sm$`*qdU{@P zM4zcuwv@D#x^_TBOq07;N=f;|$oMI>&D%mEYc5^7eQ)2hYmS7`iY22YeW$%*X+Z^i=m!D2N(;$ z7?EILVE@-p-_+dF+ScCD*}}ls+t)v#mx;NBk%fhojeYiNKWPGQdKqe(`WY|SSO^R zsdcQ0QB_@Cd#~(%q4Vp6HMDdd)-&p=>peev@Xk7YErU;A{Ekdm*n4E()z&MAG<^#neg`0&87U(T+^ z;zwaJyFi0u+`bUSl#Yvw**ZiFnVxVssCX_?3rs5DoLuWM%fj+e$pvAJpvf+cs;OQr zoU13O6ijO9+QS$iUZ=7$=;*1b+7ZiAZmv!}&8r^5apJdeLpSTLuq_!cAGw~Memo(> yVyDTB4@}yLM|y7Vnc4H)NMgYZ!{pT$8jLe8xnzBDX~Z-o5jGuuwcmoSs9Tv3vEozOj|ozH8eHq>%+f3u(UQ| zojh%_ye#wDrLKFnMF07k_v3~5i|eAhR_RW!=M4x7m{=_E`KH*1bE2Vk?6dpTe>@la z_E;>+kNe#z(MQKb-X0SziRM~8o!wH0g_oDN%AYGXK6dTKwNlbjveJC=ay+wov?{7A z&K`2&<6(%8v+bzhv9}esw`SAV;i#|Dx3||=w>JCheO-Nh`F(q9e!kW^vq)4;RqFm8 z%^%OLf4wz1xm&)s#o+UG_aDy{JZ;$C9hb|F;YbVNe0EW^zS`u=E!kt6g?8`Xy>Gk! zrz@gI)(XDdEwa3n@9K8xz0(8^Ef?%>ljzIhF;imcN#)7&;*=6#`cGe=_>+Z^i=m!D z2N(sw7?EILVE@-p-_+dF+ScCD+11L>-Ob3v+}Fv%$~L)$nVpe?lZ%^yk!MmL2QMGL zfS{1D2$Sdx4l!}TtrC(OX4ErCNejxzGVW>;6_%4%P-H(`&!MEOBB`o2Sxvo(iER?Q z#`OBxog5lXJgraFHSe`+X>-&w&#GtC`M{#9*TJLDWngHecSY;Wg22PadRd=x$Qm># zxA*aymwk|MSUIlo}bUNzHk=4c&vayNjs3@bOBu7Ca1LHIuHBQ!y2k-bN aGf#TJ>$HG1eVH3apVp34x9fol4AubBiaGWG literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/small/undo.gif b/data/images/toolbar/bluecurve/small/undo.gif new file mode 100644 index 0000000000000000000000000000000000000000..35fe78d38b69e267faafd21832efd2152d761813 GIT binary patch literal 676 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 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/xlarge/new.gif b/data/images/toolbar/bluecurve/xlarge/new.gif new file mode 100644 index 0000000000000000000000000000000000000000..54cf7bbe07b854ecd51d61353a2129e15dd1d7b2 GIT binary patch literal 826 zcmV-A1I7GDNk%w1VK4wN0Hpu`C@Cla0006C0W~%?=H}+??CkUN^Zot(v$L~JO-&sg z9l5!=YHDf(6ay7x6CR8ktE;O99t9wl9V4M1E-o$@ZWS}CF@DyApX#S&$Y?92C_6hl zcF}sM@3A|tI)>YfM6^R(TwG96P@trsot>S9h=q^fm0iPL9D*4O3kw<>8bU-ula`Z= zjEo2<2MRI?*Vos7e}5Ab6JTIqqobpAbacwf%EQCM7Z(?;v8`8ES0p4PU0+>zdwBo< z|NsC0A^8LW3IIO~W?yWed?+(0)3$m=|OUy%Fzesy1Z9F!p7B)e6a5;!j4HiHM7Hp#6iNS)W zom;^+Uc9i`!a|eqlA6ewG^<5m!B($ho(Doicu+Ye#mo~>MCjW2G3cEKT2Rmu@v^xs zDsbk644ZdY->giJoN$rfk%W97NB+$`Yyjaii!TJ;yt?xV7i1!IPNui@?-WpYDEeVq z1qufW7&mfJ@Av90T%dMA!T^HxMcTiApWp=w4H7)?LI^NGK*AV=EVtixG0Y}_3^Oc% z01Y*;2FZdLCS$`53t21x0Sy~)Mo5MW62Kt>AJ(u|cO<@NgM=TpfI|*X=+`211)ykP z1~`bw;*HGN_aO;7>_8(FHr_~pfidVH0}oRS(8ZKgW&ywoJy@aTmRxq}<(FWFNktF< EJB-v;QUCw| literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/xlarge/open.gif b/data/images/toolbar/bluecurve/xlarge/open.gif new file mode 100644 index 0000000000000000000000000000000000000000..7e48a65f25dc93ef2b0963a873996379eba57e9e GIT binary patch literal 1885 zcmb``|6h^^0>E)#WrXRGQ#1UMqNhemoSkUSBj6l5UdHUHczK*7V})r&rWXW06B{>pqa>csml#DZ$M3`vkQL!B}a$J(b#yTo$WKZkqcK^e@|AWsDpYr!u#hZ6i zP!!Z63WdR7s8p&%B5}D~kX8yoMg$2nSxlEj6A5|A*#xOn>T#MytT>INghY(62xN|!s8J5RkXsPtw<}d5asvxz1cd>own5Yo@;gH=Rbm`2 z>{eUUJhw>%Ew5a(ZuN4kB)e?@yYVnvQ za3r7HA;RT_oBsAMAu>~mXv7J0<2HmNue2>7kaSR5|s0L>~c>@#`IQWA+oC8vdhK9!j5 zv4F5gL!)NHev_D60Ec~kJ7|#8G-9e)+@xwCTC^f3BsZ%?WMZPnEJwUrqgvuLh#6kjQ z*lR$Lh+QjyLmsQuV%LfcO0HQAMBEy+hy<`{w2}f6kpKss1OmaK7ipv%tsH89Sf`7?WFhOCqLBUmvIeIx@wOUEU zL=(vMniY|dFO850hy4%)d7KuNr~rY(Y6(CllffqToBykfm&?#N)EiVD>KFfe0)<6T zZ&s#M3=LdAfqk1)Gc}|e@4#oW`zwa^6J1H0O8Vnh$RA_$=|Pc(=Mho+X6P!O!4cytkZ*^Ck#G1ZOODfymsoSjCKr{ zK+>e_i?sZZIB@aqC3I&?_x2OJV-6U1us?WO*zsN7uxW1glku)yxia0z+Lj*^^Lh7< z4puL5cV0*kH}Cnhf3PWWJJ%l(`Ux$+pKesYbn}~lgX7|zBt6o@XTNb8tw9Bef0<< zX^XVuB^yurk8J4oV{j_Td$wcCt_fo(`uPDfU4QL(Ci2sYblK}cMkS%XKfMi~(_h<_ zzo!>%TNZEN_8yUppx=_EoC!~^`=;gm^oE9NKu^fB7C3W(ih1RRZMnL(!jEnb-&|i^ zt3z*&uNg(<)zayhb+Q>iky9Z79I8rc-@>V=vU<7-h{%-fm_MzU&S&+y%L@jswoWF0 ze*32+LhpC&Q3UlB#kYH<6Bkl&Z{rtIizt=zD9lYdSNXxme~9q%_~|)y&Bs@ISfs+3 zh1A^r{ZA%Sj;_*t8#DZTu)bfmzUXXim5eo8+j?U@v#74IYWb#5m)?E23vuq%_vw|O z`0Pg`N!-*`)*X8nF>~i{mv8dt)?GX}CD+|EUEv;?J!EUgGpRi#7Fjl_xV2Tz(BQBge5of9O6 zA75K^URBH#PnR~ivd*^*!$I{ILs$TbmL^IL%h*MpMvV*RCG z+cQ%e$wlO@@!`?Tng!^qAO2dT>cZK!>o5s2?7`l3+O}tM^!qKb<)I$>t#;g>pCDg7 z8Q;!mr`(Hfo_f)dd*=Z|nuKSi`6+iQeto_O^Yh~?H~u~rnLF_-+J?!6<1-t7J~>dx zkm4uFj&0FP-wUMAFa0~?`Da_!JUV&&+|opjoWV#(F`@6C{5vzIw+0*3gnHKh}>{+EhCo6^;VU)9!the<4gK;Zg7W7k*&X AX8-^I literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/xlarge/pause.gif b/data/images/toolbar/bluecurve/xlarge/pause.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef0794fcae7d50d45df0d818361ae1c17e066552 GIT binary patch literal 886 zcmV-+1Bv`cNk%w1VK4wN0LB0S0|NsO4-Xt193LMaARr(iAt4?f9vK-K6ciK=4h{zg z2LS;A2?+^7K|y(Wd3bnuc6N4gadBW^U{Fv{LPA0`G&C9-8W0c=Pft&ilar~bsj{-N zw6wG)CME_31{D<*mzS5v$H&>(+1}pX+S=N`zrSB!Uo9;y7Z(?qnVH<&+|10(oSd9> zb#+)+SS~Iu3kwUKot@?7<>uz*&d$!RuC9!XjBIRdR#sLoFE0%Z4WOW)?Ck9D@bJ~u z)uyJVhK7bPFfgK`qSx2gt*xz!ii)J9r0wnP*x1;$wY86rk5N%kySuxRl9EVBNR*V6 z;Nalt>FL(i){c&jEG#S&6BB}hg3-~@&CSiIsHljDh$tv10000*MMZyqf6L3u(9qBl z5)wQ-JeZi6iHV7Gb8}u^UMD9fT3T9ZX=!e5Zc0i@BqSs?H8odPS5i_^OiWBiM@J(g zBNi4GB_$;(DJc;V5&!@H|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0A^8LW3IKlqEC2ui z05AYB000O6fPaF6goTEOh>41ejE#IuXyJwZVW=S~9Cqm8haiS1 M;)o=c=wToLJ6G+Bpa1{> literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/xlarge/quit.gif b/data/images/toolbar/bluecurve/xlarge/quit.gif new file mode 100644 index 0000000000000000000000000000000000000000..d52725f60b4b8723c712c6c0e95b56f589b43311 GIT binary patch literal 2004 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 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/xlarge/rules.gif b/data/images/toolbar/bluecurve/xlarge/rules.gif new file mode 100644 index 0000000000000000000000000000000000000000..fc9e37d0ac16964aed0611ce2dd609e81b75afca GIT binary patch literal 2134 zcmWmD|65Y`0>JUZM?B&Yj(DUap_1a)NX^vHw0V&kDw&loZ)4@7X3odkc>ER?b4H+O zWN2E;tbBx;`7m=x#qF9g#U#TdW5$Zxyk^as^|;dVmb+K)?)yJ@{qRmn{DV9!NhDP zYKlh#hj1VC6QHa|b#*x0C0Dq6gpEk=yT=S^nd8GKkXIh0$|r**31Yi57Wp|ive3)TomJQ6ASKJN96PQqC&)2CggB9WAeY*jhI9tiD1J9 zgF%A9UI4T;qf1LmA^>{yJwl=Id?0LTQ`yaUd<5JqM(qNuBL-z)XkQdMV=iD9ZsG!;!Fk*i^X$ubMYu# zj}nCf*s5(e$GeM|u#5rNY$l7vnr>GLarj#qI&Z`0ryXJh7~3$jN-}T9O;JE5lbH=z z3I(uPV8)79i;-e75Tamd7FUSK+F)eTfSD699LKM-oo#%~p%9&8IL}#dyTd-KYv%%R z(|A)+EtwSH?d|PDT5M)!CNUniDl4>FZDwX>Fal<8;ZX?CM^K)g{-!tw881pz;qa(1 zwgGcyFc@WJWj3CNF$y+C0F4s0d`tl)Z33c4tbq8u%_-<)vweuG-~?o8YDw~AVe2UwO!od@`A61^jP~pAbjLJB;6`9S|JFw+U}xQdqfpms7Yz$hC|njJ)|kmvc1zsv5T2Ii%py8+l3{e6>h;&4_fwbncV2Sa7lha>p8RX z;faIO>=NlvM$N0;|7z&kQQ5t#k=eZNl(#s*yEbggy`bc#ln|AzJ8J*Uj=q#1By6Qx zh;P09_x%g^-i>RVE7jQ0=H=%n3-+~|gb9sT=bNsi*W&+d$pbFdHcjTRan&Eggk|yX zLF3Rs(Dx;p@%Z?Mwr#NwX*)QJzF7$aw7QQbcaCx+7O!-lb%gg|Nb(k_eja~7W%JI>^|xOg;k_@ z%G0w(zS1b7$5t<=RULbX;QTxnxrqE%hmsd!zD~c2 z#_3$skh3jGzG}mcL8l|F@}GIJxw#h*bAM?)0Vcl*=gsu%%$`?TAAs+?TIZ=4ze;W) zimId{ub8l8r$l>~{O*SBRi)0Zgan$&gVmAgzFr$67Y(^Spw?_)S1nNJt>;bkCFn+K zY8bz(9Nko~CrrogpSYTSd#Yg?M7VE+dJm+vzS8qzUPija4L>P&Pk7PaH1?@KxBPw- zyXe_fcX~k0Xvp(NS(bZ$^r_RoBoAMd9h?n3s)~dwJirYG6s_d2pLmWMk58T774rqn z>HYGi#GCrLq#xcqXkcI7Ew{w}y9=@=FvDsFXcZ+3qZ{sYA65Mr^61JA&MDFYy#9+L zp2v|FuOGzmD*a9>E*F&yY+wK5r4m7WTx7DGcxM0_V%WQM4Zg1fd$*EC(0540@AvZ3 z2<}pbT12FlNO&20f4U!VEAY*2&p~3jbF6OMFU!e4z4s2`{qBV=O^U^Vq}3<7@`h~4 z79Ed#ZJ_d{!TCRL1+LMg8fdFpl}{f;%SLupUOU|w)XK#?LMM~vxs z6xp{^<=m~oc14f)bvD=KjR5)TZYc|?SLWa2`zllUl~24>2M$SBk?2Fw=X+IS2W76M zBPpCH!th+lQ~EnX-RA?Ps!GbMRXJfN!iv>yn@_R*DfPF5KxDl)IRJk8(w+LtQ>pKX zeDossj<-*f@-Ed0(ua<@7wN#4yVVWI>Kebm2gl-wg-A`&Ubo=VhEIKXbkheYvZj<& zF`#zJDl(CZkIG36>XvNjfP*$o$cQ`2I1@?uWP&SQOPuxE#XS?VQcDSp$s^_Gg1s@% z($-B$w;@T~jnrP*=cznTAT{|VmVs}IrY=|>4f>BI$&(tS5G^h@39nGQ(Ng7}Kkch` v*~4>UO!0!i;o7i*UaSO7#(yn2mI85|%B9-^=wn^{Sjz*IWWtX?fD--(Ojc>` literal 0 HcmV?d00001 diff --git a/data/images/toolbar/bluecurve/xlarge/save.gif b/data/images/toolbar/bluecurve/xlarge/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..9315de2b9898a7d1bee3aa65f1a082a877e5fa8c GIT binary patch literal 1911 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 nRF!)3beXF7^n^(#8AJOovUeCqK!e9*msqeUV literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/README.ICONS b/data/images/toolbar/crystal/README.ICONS new file mode 100644 index 00000000..92d58b7e --- /dev/null +++ b/data/images/toolbar/crystal/README.ICONS @@ -0,0 +1 @@ +Icons compliments of Crystal Icons 0.9 Icon Theme by Everaldo and crystal staff (www.everaldo.com) diff --git a/data/images/toolbar/crystal/large/autodrop.gif b/data/images/toolbar/crystal/large/autodrop.gif new file mode 100644 index 0000000000000000000000000000000000000000..84ca821597becd945b10b75a8c1059ee563dc305 GIT binary patch literal 1040 zcmV+r1n>JtNk%w1VITk?0OkMy0002KzRbV80DW!^rKP1xN=onV?~II$zrSm9b8{&v zDc|4UuBA0pR9LTy02vt>dqn{2>tFw@0JF2RW@cu$w}k!t?bg=T|K|Yz=RRIuFu%XQ znVFf)%*+rF5Ij6Qj`g=A>N!|I`5Y_xS$nAAo>Bn0N>dF|Nj8(pa9FqRn5)U_t#ke|1ZEZ$G2d0ClFdJgKP6&Ma@uVw-KqYy; zxPWIu%8oV#0Te)#0Dz1yz(8c<+^tPeaSxz*KW zn{@C0;297IMT!v*4;~zOu(m^6mkZ!hEeoZtnId_Q9Err?Z^kWxt2&`8#mo*h1r{ql z;-OWiX#hHWo62RbKq(e42S^er0f!D9{x~sVLgF;oNqEBV~$NMAs``ol+goi z9(ZKnhY&)PFoXANLzy{V!A1@? zKybi=h8*z20Ao1d02+KmaX<$bT#&#UV~i2P6KKHE$7?ViV!#5hRocMVq$5&YXGk>EG&Y#~;1? ze&No?uRs5<+jsl_|Nk%E|M~Fk|B(yNuHJut|M~Z2n~t5i_G;7a)6d`i+IHmb-qTOl zY&-Sl)6aYN-k-So=G@IUyH7s2`S=@9BLmHV;!hS<5e7vD9gqzmKQXZVKQO_-Nk^)m zb79d*8LN30G?*6}xagc+V=SfXuwoLU(#lk~9d}-`iZrsAJbfz3`_=A7pS6wLtjqI* zg^M}zYwGHQxtIl{xrDey3foJ{m{_LIU`d^v5yv6kCnzDo%fKErCx(@EzOX3s28m@W z>VpKtg_xLJBsWK{%q*9a+qG+-?|}fGas?rw!*a66)3)-R78X`Gd#?X-(bm)aT#s+v z7P{wkAfErt<0rS+UPQ+TeC3$G;N8IzRivx< z`i9fa9pCjbQYv0eKinPvVP|l_#&eD>-$jDnbewtQ*`pMG$tbd+(RYTF`?Qh*p~Mr$ zbBt{5UcNL=-dCvF>GY>^ii)=}YumS&tdQrymJFM+?w;DJyx5?(--rfL1 zw>)|5#l^*PmDM0&R6U6|m{_5TrA!vFvOA^8La6aaq!EC2ui z03ZM$000O7fPaF6goTEOh>41ejDJ(>~}GPvgmz5X)(1op8B6ZnGe-?wlOQ${ z6nZkS;FTd;6fVq%pn=B*94_P;3FHsOZCPY!RLGD_iU})XuFydf%LS7p2wq9J5}yw! zR(1q<@uO%QI7SpW!AWpM&{(pb)S^{ohZh1YvSxJ<ZULV8t3ab3y_MW6H7wNP?#*fw);0co>o6$blJomEnl+fW(_)1&3bHUO%}9uZyrCI}87=)i^&-FPwB3r37r9%v5KaGM7nn9$W-0O62@A7p6M z#1^Z#;f5Z1@PGsoLbPas1#?jF*dREB;73nekZ2-`JgCT`5HC6bz#I}CI6wzIjacGk zi7Br5qXm2THp+o1NYK*>Ir^|;iaxrC1rvA;qJR}ws^S9-3Cy4Y0}RX|LI!YB;a-t~ zDB#Cbw4k6T3I+5jh8S1?An2d~P+%Y-Gq9=XqKr1WD13z&AnBx(R%+>_q+}{cAOJh^ CQUB`z literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/large/pause.gif b/data/images/toolbar/crystal/large/pause.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c3d83a7544e9af09da5ec40314efb6f53c3c482 GIT binary patch literal 929 zcmchVze>YU7{$Na=7NJ@q!;PX;kIP#P(dWY4!H$eqF|FZs7}(&JV7G(hk{z9Z&2t9 zwC|ub)Wx+^x;PgXm*Bl^k_!?<7eoHQ$NA1V_eWY*Q#Vd2Q20;*Ayg<7DwT?17?x!@ zj??XSUDxgPdV|4WG#X7NlOPD@^LZGCQ53-+ukxpY5U5ZUdmO{67hli#qOe+XVM{#_O6?(z z@Z)Cv`b;R%bWv>~9+5yNv64rKZW1~cN?wLXxTGW7iZZKHXzj7LvWgF4cl0}#K%}6X z{JyNq%aP*jv4nx;&h=xikVMe6U&6?wO7ZD}a6wAZvk7K`I&%mYq;pmLWjO#QzK{@E i8_Md^C*>j?;`D@zEVJH9xO|)c+Pu6<`oaAQ4!!_he4C{J literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/large/quit.gif b/data/images/toolbar/crystal/large/quit.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e57a7473caafdceef5eef9ab9f4defc008e60fa GIT binary patch literal 909 zcmZ?wbhEHbRA5kGc*elc!@#g_-@da^QL|iJzB4fV|MKNN1H;v;SN|Iu|DQSY-`>4@ z85q7QDEzOeIAd)5KwSL)wQK)9JiZGEToD(4_wLEdc@lpFjV9=FGo!>;Bu= zya5V!cAjBic;@PQ^ytx&&w}H+(di1G= z#uXi%r%Fl>f$k9y_%AJe1E^g=;fk^GQyCecjSPbxDE?$&6=CpX&;hv=6ekSq{~J7; znp;}i+B;hHg?!dGng@RmaC?z$ds0DdkNO1%a%*1%$>hrk$}X8jhi+I zsMyS#vPe>3&)$9eB)9EoU&JMO{KUyql3XgH;%gSlIZ9bv6X3db>lT;YEh(e(7d^Wj zIdxu0DjQ0@c&8&}s4V&Z;f1Dd4_VGXcFO+^BR)uLyr19S$f?%h{pesrFQ0($pV=LX zj7Rt+)c$SexY*P#z&`0k!^H(Do~2TTH#STROlIRYmk>}$P;lX%XrS}r&P)B&)15jl zXJn#;S^R`OCeI33u<>OFi}PZ!qdOO^y1L3@PF|1HRu7KF+zAR2-qY5wEf3hq_mxYm zZQ}NVSND|~9+)(R{C*wwiAj5Yetde||3;m{t#Ub& zQ>W(phq3)Gyq6uKuyNsjV6w_fxX*Csp*jbv_#5$qO+02d6a>DjHYKpyYNRFxxx09r vY;mu7@UUIMYJs8#M_a<9PKG5blp5bQI&rYFZ(%spV{+|=Q+FE+6N5DXr7}x0 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/large/redo.gif b/data/images/toolbar/crystal/large/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..46b12e7cb64517d24751881be357eff984326472 GIT binary patch literal 751 zcmZ?wbhEHbRA5kGc*elM5X~@W*PMW!0EROR3^N(doH-M4A;98?h4D<|sh_77O)0u} z?;b-H15j!Gg}VLw_xo?~=bOuS=KmS-DdIxkh0^|~F|1{fTO-%@zir#+ZEKFMdGh2* z{@Q$oLWbQpcQagPNIR1zwShtBfDXf3hNx9hk@F*G-i-{f(7`^Y`S7{ugCPV`$mb5^%_iqlbfS zDMRV0Ovl~2`|j^!_`(pmCw%MWtwmRh7H?U+?c6q=Iv%-BIisCM$%~T%7X>c(xu9TG z!Ls}F;!i~KEa3qLOW~|S>;KmJ%k`hUdvfjmHU7o?(o3ZoHZufX53FBZfBMnsxTAix zm&+ILUHtz)(8VMG#h)y!A`Ar#Iv_ouIALJ_-%!xh+|t_C-qG3B-P7CGKVjme$z29< zxeki6X8HTsPBP$g_VvzlTkfV7zc?th-zq&_K~iYzwrwE^83DaEERiu9hYlY(#3?Q) zH#LPN%ZSZTT-?&oT;lo-39Ss1v`zsQrF3<54xMNYVRb=G(Rc4HSX2z!-JhsiXY<>$ zvO2Qnx2&-?Se9^5Og%=T$*F~-Nz1-TXMs7#F*aUfjsS;4f}E^Mv1TGp2OLf}Gbss2 zo{U(W>MgA!CUR)e5&5I7ayC8>4Bi4Iiw$ z>ZWQXl6he3>g(%Rtkx8KQSy|M&$ztmtD{2a4Ea8v1P+g+hs}3)m;3MdyK&3J7zQ&o z4mq0#EDWqQ%71x%W}J9r0GR;r{P01?L7lXnEpaU_x-Kct zDRbm=*Vosd=$~lAXd8JC)=(D37RTPlv$?ZeiCot9)&O(>i=vAFy#SQvlp4Mo zx9_((eK|jhKM=tXnar8x`Q;aU7vAgMGt4u3&U#7DNfosfd8c^*w*a%@vtZj`#Pr0A zwGTklKqAH>=H})LU<-V?e5KH(TG?8q>ZOO$hX$qwp2VIywK|c&kto$D zd!2g#%m6QRF9wGOG}kou{r3rS2??_aN7Y9?gFU|0z7fz70HpxW;m=NzPQ}Z`Y1nBW zj2~Z(UwYtrkFk%@_R+uazjEJlrt7BZ@9C%4r_$ZhNry=!yCe|35FoN3R^C>MtctbF zwa@O)p1_`btb7k_4~5``0A>I}-a;127D3BFukWuR&LN-Hpa1{=A^8La6aaq!EC2ui z03ZM$000O7fPaF6goTEOh=&DCby<#CD0FFwlz&=Y5CEDN7n+)Ea+QT69uN>Q1Su(d zdmkwTF`6A~qJK$u^i7unvG8E5fR|SS3f;vtf~tSi%LX zTL5DJW@Z5(A%a~k7d6=3YodvZ8+c*dahqWwgFjg=NZ7#`BNoOx3>XQllJErtI1npV zz!@WF&K7qDw2T=sfB||^0}Qw#wI0eU3lIiS8U=t119CUGI7d(J7NTL8$(Fu!jy*R%zuP4**aElO7`Sg%p~E(L@ArlnF-!O@yHd0yTWmWgm1r%aPfxw^@2ta|JZ`L9R5k4@0!=pGb-~*qA1Ofm%n=8HR literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/large/rules.gif b/data/images/toolbar/crystal/large/rules.gif new file mode 100644 index 0000000000000000000000000000000000000000..9c29b45086e9be845a647451b3bf6468ab1cb1b0 GIT binary patch literal 979 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 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/large/statistics.gif b/data/images/toolbar/crystal/large/statistics.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3237d552a5ae38fd31eab0380659a714a87c4df GIT binary patch literal 1119 zcmV-l1fcszNk%w1VITk?0OkMy0045#W&jwR@z&0-x={cIy%*qw0JXKXAy%|+y6YyN zwSGD&|0faTlx01<|0%kLpnr@Qfj8ylZ3I0KNZRO(_ zbi!BwO~(K4c`wCpYd^{VD`LAatI~&#rqf+ms^t1Y-fJ^6X8-^HA^8La6aaq!EC2ui z03ZM$000O7fPaF6goT7N83-GOjE#jeY^tuVFt>}%Dhb{bkWfcU>*T;wS~zQBUj$v zS40V~bZ+Ku)E-ZBX{3WY0Z%?;^!4;?<4qjr=wMYrVa8+=1TP4Sg9s7g*n?WXU-v-v#If&fAYf zCuD}KsppDGlqx|eRl0)+0vA}goR~VariT$nbx!fYl`9byNs_pjN|k1`3^*!e#kjSr z4Ci}No48~_4_cyaAW;>eF9CA@g@ z&W8*+KmEXU_poU6I6ImgBmEbu$zNIh?oJq z5Ih8kgcUtlQAd(Y=vBiSHI%T$ks&6j-Wv!g(4+}B6kw(XA~cXj405dDCJZI4AYGC| zSfJh?Y#^Y50(m?@!kP3P`07nNo6q~~w la}c2Hvdj{I#sUPSLBkIyX`;ms2V|@5w%l^7g*$-&06POH{#O71 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/large/undo.gif b/data/images/toolbar/crystal/large/undo.gif new file mode 100644 index 0000000000000000000000000000000000000000..15558dbabd1f2e7c3a6333be2d614be69c4caf85 GIT binary patch literal 763 zcmb`E?N3qx9EE?PXrd-*&JxTk*&g)zBMOkTKT{c!toJ&*8T3c!P!PJogBKQtg z)KYZn$Pt+D3{(0pZQe0X+S`BKj*=#PC3+uz|xSe{7>apr@U9>T}WKIw| z8VW)fo*RaH;C8!NH7uvo=|MzmBHjuQMqp-ThOguYTnXq{?x5VD2-QO63nhPyXBaVX zt=xb+0f0lq0GM8x;5mQ-zzM0%sb;eowxM&agHy@LdzwePN#i&211kbaZ%Hr>9%I$x zD%FUJI7HlZZ(=%(Az?^{C5{h{6nTnoFLX_Hc|^=gX3m40^oewC6W2Izw5{1N4L12^ zvTwZu$8pbc|0U7Ce29CY7-DzYc0K_=TvS|BE0##>Wc6}ILt|5OOKY1_E@U53$+85& zf|K!TaTanaCK2iEDn^mu!v=rkqDH0Le_(t(X>hm|<lNWae>Pi+x@DXwYVI*{kxfFQ^R5?m(Q8`6j+XE1A0*63 zo}dEV0MAO69!j{B?0-9RmP8M1W3+#QwEA%7v>CwS)f$%9L`Gw1b>2N^+jo2ATkd<4 z5#LO(^vtGniY~{Z8n0gcM^m`~uu?I>$}T9?A&HuSd~1f@*%I=3yE~Sm9Zfr@&Rn99 uDlpM^t(+Xm)ygNMH3S05r#~}*47~*A%JL2!M>?F(u)8Y85zaJ#q;+6y>SHI-rheyL6eAl z|K|YI&R5LL%-__qv9BDNnW~71H4+jM%F1%%#|r<}0L{(Um5NUF;ks5< zU;qFA)z#i8C@4BQI@Z>{q@=U||1-S2$^ZWVot-4Mw!hih>q$vT2L}hqivYc$g6Qb& zq>^sy;%)!T0RQ>pii(PqkBOI;p|+-OqnmYfcznLTzRAqtyu8fu@%8`qIHRMZTU%T9 z=B&}v=d7%>b$5{8-{!2W$i~Lh>a_uxnVG)6k=WH>+01{YroWz-jkL71dwYB4=Jz2X zDfagGt*x!KwZz}b3az!h^z{7g#s|^S-Pe@>tf*BMFNh2`m|=J3cHorUx1T3W^ayU~fNNLo<9I2M0+N06_zvpEuaj zX_zzXhd~l$o{XtbA&3JPL70q4mt@wQE>Fso0kT667zYU;W$*woh{*#f%jns0=8TmJ zE)szOV`>i0l`LU!;X*_MC_;1;JbRK7$W9nW>eLC*PtliZDp{VvTBk&b7!DPY_!38n zm@Q{nxCAiMrVSYbi!vY(u_g)|8FFu^!O>v=4+x5o6j|Zrg^meM?l4$vgM*GHZW5hP uVJ8ooJs2Kj0ihyC9sv|+R8d3#%M}v~T#)#aAqAE`P&T}I5~_EiKma?EdTqr3 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/small/new.gif b/data/images/toolbar/crystal/small/new.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa21599382faf9671ae01ada6f63bf02fb0a43bb GIT binary patch literal 289 zcmZ?wbhEHb6k`x$IKseCQqlVA?dMC^9vnP+xo6_y|NsAQ+J55Ok6#a;yghsI?#ItR zzJLFJ``(LpAHF|*{^9)PdneA^ym{x@y?gJkTz`D@+`S_wt^&0%;0B66Sy)AYR_TD0 zfb3*oows1BO$ujdb7Dl!YdcpR`L0h2tAC#|{%g@U=N!}HqkQe{iw+39>tTKJSb&$W z`vP;~Y1J1SjyWg)X>eeOe-S9?pmOg;`nARcpLZX{et0Z4{>M|PQ_Y&g$XLQr+T@a$ z%J=B`?{CUfz$rR^K7H?Lo~Y2Ew{ W+pBC=Ze{FYVmNW~)afQg25SH!afn>lG-cISh~s97-YI11EL+di;QF%K|7DHs8dB#YM$^po{{uVTtikbuyZ?l) z_IHTT<^2CjciJX6&`@jAUzq!oxcE?t_##im&e80!vC-=4`_Iqm5<9maVb>5X%LXaG zFl^hexafMd|2cj3+}-cL<^ROX>vfvvFiXmpuH=G?%@IP}W|{x0&H48B|9+(PB4O^~ z|NmE#`VcwOPk86O!07Mq{x@sa8CukezWgU()VB+%kKY}p4NYr z-n_itAUnX^-}WhM-n6vaBuc@buI2|ZwsWigG*8Qgvi832|NsC0A^8La6aaq!EC2ui z02Tli000O7fPaF6goTEOh>41S1#wzli-rp?b#-x(gKr3BUP@+hNQF%Tqyjf+e`PCg zUS>+K5|D!fIy!!SBt<_~7GABdN>*AFv$eQcE?ySBze*HlT2{q6T?lo{%f7BPGTm%) z;Iuk|b9HP_-dJ4E0y{R~ZHZQX?Z6U~&wJr=vjz9&6Tg=~ARfp9eiK z_?t53Ngjd|fYbm2LG51JN!0-%s0<%F0iU_^*`+Ve?-KTSNu00F0p zjSvk~zuX|Rp+g5Ye6Y|F)MP*xb7suEp+Y6Wk_B_-+&OSS(1Z!*dI=tEcmd)&c%leW pks-2$0+bPRNJ4-BfI%wMoH+xdHI3ItVk=OM5CLMzl)zXEz!E@$eJ+gk z0;0J1oFi0QF`pHTb-@y7>;X##rUnKJkQi$#pUi=s3noY&uzU_Qs`bbvhI6efky1eJ zoMJtN8-ASUTCeyqf{oH!Q07&@$94rM29h;c0^|b4xEjD*hONO2C43+yK<KPbrYij;kyY|1J;ARPlBL)WldwWl7YHk-2`Xeg(-`V*yJNtGy zx!a10r-X$58yl}>VAyJ4a0cieZS8eHk^evga011jEUY37W(+zY6(Bz`u>EwHUErZ3 z)!V|8ax!KXhkK%t@QSF_8tfu71xuA480?sQmv8bS-lVg6`8GzymrS{GlxDxSwQtHd zX6NDIWD#fK>}YB0;1QE>5?~S%k`|xFqORULO&nw!ZYDfL$i^D&@|o249+thEcxPC zW_uVOWiSp(iHJD3aq)2>@qU2`4;M~5$)@Y%rr5C1ty73ANo&Odqpq_WjtmUe08PZM AcK`qY literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/small/redo.gif b/data/images/toolbar/crystal/small/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..057f8a46f889705f819a016899142b6929150b39 GIT binary patch literal 598 zcmZ?wbhEHb6k`x$c*elM5Y5nkvfp8?1H*oX{nz$0%w(|oVKwvrOof>W8oMMbnhv#?PZ8x52oUkcDYqJ)^83y}3 z1{dF-7nmrp{_1*;jT{1H0>MWd?El*b>@X}HPY{L}Lc-x!Q`88LJ*q@77) z*v7E`?tZ@IybOyO?tQ<O0hX&-6NN zbCU0oFMm+3P^ciaP3qcTfv$o<%h3^$#u70kWXJ(#!cry8NGRJ<7`ycPS zpLSP1l-ouH@YIew*TK#ls&DuRpimVXs5azG4NawvypbLS%A8?@flZ91;A(%l2Dr{ zHWg%MU|<$B?PxLO(`6Uo=2m3a<(t^Sr0XSP!n%xAPfVJDsePe~vh}9ToAkJK*G^`T zG%_(!XA5Lw+_z7ZVSW>znys?AknF{aM#@+9UHO_#b#-imG%j6IwtZr&sXJeg-GP_u zlArz+-p{HQTI_;N%!hBP943X59d5NqMjiwEGQmx zV#+r~^<9p9^I~=^Nai>xd(j}KVv?_P1H09sX$s$yJNblc`)nM-G(wt`3)CN<@@+UR p+91g>>BZgd1U7BYDNzOuiHF&E*yc`RjJxt;Vv^?sUREXsYXB`7nd}Cnv|KrCQ28Of!{r`=P-=9B!zqt6N zsOT4I=`9QlKa7ok$He>uO1ZgxVqo~f&;RxQ{R1j0R}2g$3kdu#Eqxgq`)Tv$9RdQ^ zfF`J^yym;>9^j=Hr|CuxY z)6)L8wf$MU_K$3k%=#^19yN|B{jMInb#yXP)KaTE)fn|K`o7)z$kL z82%hN0<`PHh7Fq?9KN1E|G&C=uYkZZ0Rdn*ymxlK3k-qY-e0w~?|pop#>fA^ckhji z%yAW!>uPF0=FPjy#q~-{>)-qL?-dn+u3(@BQ2fclD#DP#paU`t6ekSq{~I!znp;}i z+S5Fhtt>6WloajSTRb(`4CP&1B*pxt6(?snv03PA`UVAsXsWsKs<$tW)d`RbvEHGn zqhqA7VG3KMt-jQbV><$DRTSKt(=;5ClZ|(D9GSep zyz9%0#xHCQ%uO{p3c*XVt_pFb{MisydXhCi!^wof`BS@aO!TRy%BUAC9in2!oeQ=` zur)L|=N)yqu{-tjJr3D7ZB|9Co)V%Rp&=Yaj9D5cc6~k@85s_=GO{1AyXT`Jz+epk DpHv$Y literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/small/save.gif b/data/images/toolbar/crystal/small/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..380dcf8a84fbd9a4be2233c88460d4784cde34d8 GIT binary patch literal 540 zcmV+%0^|KhNk%w1VHN-u0M!5hH8pUVnaqWSt?caVW@eeCrKR59-ptI*x3{-XPlj=E zpS``>jEuHJLxKPQ|D2q~ySvEG&*kCa?|OQrtE|T{ zwzj}PKz!BJ=;r3~babjzRFHmtv7(~Iwzk!TgtnKL!`tZd*4Eba^!bgAyjoh6zP{Wx zHf~BvjKjmjdwZ<2v&T|WjiRE;b91JYl)h_gq}bT&@9+1dq_67g^g23s|Ns9000000 z00000A^8La6aYK`EC2ui02Tli000L6K%P)I5)6jOq>?A_2n3Jga`_;6R5gYIR+CPJ zFpr1f_>@#40-@wpPMjZyybOcUDg;rRS0hCfbAb*LHZ~;*1YQ#n5io**CwUqe2SWrJ zFmaD^Ya$CW5JDvnECeZ=atS317zHmv1QZl2C8!d45e+dYLMt=BDmE1+f_a`55E(oo zB_#1tgc5gDk>F-CN<(JAOsj9A`t)^ygV``FeN%OAuEOq=prB>ETGE! zB78Z(f#ZgX1PSWwThKroj~4r6q|kBW0}cr#Ry4psz(%fJurS!bkmAOT2pU+dU{Ioi znguI3DC04JMgj~NC}>!)K*c#Z6(K?}bST8Y3j{Q9=EQKO!HN(X*0mclAOnh{BXOG8 e5tNn8DOIl`7}=m~gB&mRC<%+zDLW)V0028iXy@7h literal 0 HcmV?d00001 diff --git a/data/images/toolbar/crystal/small/statistics.gif b/data/images/toolbar/crystal/small/statistics.gif new file mode 100644 index 0000000000000000000000000000000000000000..93a490869d1e0424fcdef66b79b099339fa7df0a GIT binary patch literal 796 zcmV+%1LOQhNk%w1VHN-u0OkMyK^;oWW&i-G|LMZ8r%)6SR=wqj4;s2Cai`pnrvTos zffh`ew2Er~MH*^(uQt2?|Mjsk#DIH7F_)ja*=1X>!Q(-d%=gOxHPUk(e^QBtm7OJ2 zv!0S7f!qIBN|KVT|NY|A)6?oRBvLwe+qz|D%>Na=xf6fa|7J61YExiPT4krp|JIKt z&HwJpumHXPQ6Oi=Nlx3t5dir}!L^{xVir>2njw3P(6tyuzyJUF*eGkmoap{eiO&CC zT8xaXC%fu;-T(EQ3&2|d5zLr%FI(Tqz6j<7|4lpp_{(yZ(mNw;dBF1j_rg(|7K?Y|Mx;KR{#H*e`iWF%>V!I zlsj~~%*>hpbUpoYHOA|NsC0A^8La6aaq!EC2ui z02Tli000O7fPaF6go9OJN`;Dw6<-KzJztB0QZAO36FosZoIMUwiV6Xvq;O0@C8;G~ z1PX*80YWTXv|JxdJY)~MPig^1gDz8CU2Vo~RdzgnV`C3c3R4V&0|reXI@vlCc0qo- z4^KvD(}DwN5J^qzd=A|uyE#uG3!O)f+|eQu2aY9sULrv<_(O#-Pk@*> zaKH+MB`NCEkpUSA3KUM3O!z}3Oqd%PGME8CqXIFPmZ_;^Yt891<2cE|lZ<9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfvLEsf92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{Z;XF!6n0WW2y2FTfzf!0y1n zV4%P#aey%a$YX3^EMSOXUf$rxD^;V79!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfvLQwf92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{c9*fQn=qI^`QUIT&~vnE4VI zBpBEZunK@FMhL~4z`(-LrmV-n!NAnO@PNtU0Z#*q0+`4Bpdp!|fFS{h8yFiH3JOYq MECuJ8K@1Gm0Fi(*tN;K2 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/empty-large/open.gif b/data/images/toolbar/default/empty-large/open.gif new file mode 100644 index 0000000000000000000000000000000000000000..213c32a949c79caa93755cf69d13fed930c4fde0 GIT binary patch literal 181 zcmZ?wbhEHb)L>9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfvK{mf92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{c9+nAIB?)WAq0tHJp!1IGmo z29^U177R=c%nA<1Kr9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfvLEsf92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{eWnn0YTSay(#=ZeXxrkY->? zV31*8bZA({sKCH>fKh;f1tG|=fl-2iv4ODwD9Ct#tzdy916ve>0KV`lYXFP7Fu4E# literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/empty-large/redo.gif b/data/images/toolbar/default/empty-large/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b892e0e8ff3ee769f09a631d6f0d24bae503522 GIT binary patch literal 180 zcmZ?wbhEHb)L>9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfvKXWf92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{XnRE(=az~5}+L18N|R~4FKLYGeQ6W literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/empty-large/restart.gif b/data/images/toolbar/default/empty-large/restart.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3c90548990183f4765488c71fbf8e05c0b63fa9 GIT binary patch literal 210 zcmZ?wbhEHb)L>9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfoWP#|H{*E`4`XGa;tmuy*r0pxB|9A)!GOD5hYn9mK$34FE|uJ9Yp7 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/empty-large/rules.gif b/data/images/toolbar/default/empty-large/rules.gif new file mode 100644 index 0000000000000000000000000000000000000000..1586582e22c00065d72133aee930c002c7cdd6e5 GIT binary patch literal 190 zcmZ?wbhEHb)L>9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfvKsdf92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{XnRE~_^%@LXWzIKWWCz|p{1 zz`(-LcB|2B*W(5Wg2EGP{0}K-w1Q?hf0C`M74U7(q3Jh!q7zKbTxeu^3FeES} fI0yq36aaAog92j%Ljjnd5K!!({JAoSfx#L8#NIb+ literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/empty-large/save.gif b/data/images/toolbar/default/empty-large/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..a489fcb091a404f4cb8a819ddf8acf3b0e016474 GIT binary patch literal 160 zcmZ?wbhEHb)L>9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfhnb@f92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{c9+79U`obAU_7B!NMOp>6)t z?F=jo><$bC3<(VF@&_0=79!_`t{j1pD{zSNz8xP#K(`qfnfmlUb6OS(M74_>%=F%gCSuQUX%U zz?9$9zw-23{>5{)-0I$ZZ_jW3wnrY*o^>vJb!yu??&HD^iw`hLFfivdFeNaUF|eL> zV3x>WyQNwQ)Xmtyn81+2z;-~9lY@b;f%gD|0gwV3zkz{|f%yP~1p^a^N|@Nfkid|} Okl>(vxFd*x!5RQ^!!tbq literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/empty-large/undo.gif b/data/images/toolbar/default/empty-large/undo.gif new file mode 100644 index 0000000000000000000000000000000000000000..717e2f55376093e4d87eb916cb59c3361fc39d6b GIT binary patch literal 189 zcmZ?wbhEHb)L>9!_`m=H`}glx{Kp?q8JwS^P@JEWS(2Dpl**v^lZBCifssK6qy(gx zfvK^lf92`7{EO#oxz)Y--k#t5ZI3*rJ?mWd>eRM(+{XnQ7z8FTaxgGTHZV9aNHQ=b zFt9K*Fi*~`2x8!9Xv_ri*c})O7<_;{#scg-1I7l11fUuLD0cYBQUGKoIAnfMd0ZL9 Hz+epkO9nKy literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/large/autodrop.gif b/data/images/toolbar/default/large/autodrop.gif new file mode 100644 index 0000000000000000000000000000000000000000..8365d49eacf64c0c516c5af40eb2b361dff5d621 GIT binary patch literal 929 zcma)4J#5oZ5PohPlm;6asY5Dxc&RMK!xM7R3o@cZ6HsVTT`3*1!<3b7*__ZS#Nnrc zsas@*u9ZEMF^UmU;uJ)^WUPoPu|io`TJAY^+OgJ?b^7k^ySwl1>3T_j_#7jQ{z?eG z#l^*3E|<^eOQlk!QmIy}wOXy&Z0_&x9~>MU9Ub-i{qcBwc6N4tetvm*$#QP|W&iOU zha^N;2CIpZ7nm*RRG0`whZCAcN-NOPuQA%AZ;KGd$h$x3@kjN0Kyjdp zHWgk85mkp8la&=2sgL;hZ>*cCkX90+Q?BrCk}C` zU;4WVH3BsW%4%ffkaR<_Y=q4zPS@GA^MXr!TWve$Ji@+1HUjO<3pQ=h16&z!OMMP~ zt;@|5&2Z%eDt!5&`HpgHO-d}oHc{8qMUPnb`QC5pJL>6OPJR)3pnm>2%+4hw~>VR@&)FZb)lc9|t&!md+Q-`!|b-2t&iX7^Krw$zx3R~N- z%nbAwx`^mzcDNS{(Cwwt%JQqL*a}C56tld5Ax4tZTW}r8L_?0- zHN(T?S`CRISGN-#W7k%avpykUc8rH)Eh@@d!qE!BCQt&9Y}jZ${Idvnv2tJo`!0I) EAGvj6}9 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/large/new.gif b/data/images/toolbar/default/large/new.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bac4e04251ba388aa592b675a4b0b1b4342b08c GIT binary patch literal 546 zcmZ?wbhEHbRA5kGSjqqb`uh4778V{J9w8wisi~<|Z&6ieXXmv3 z*12=%E?qcn@3NMitEQ}3vu4NU)w_3XJGipr@VZHdH_be{W9jkzTTUF@{^azs7gu+j zIC0|AnFBYkoxOeQ#_KyrAKktB?!l?okFI@qbpGS>8&4iT`ttVi_fN0>{rmTyVxahw zg^`iLoSSuI=l zyK*VD-GR#()%T|De!s#oYu&ow_vI`}HKhp+c`RzpC8b5}DXcQ`-L*k|{Yk7W9^O*} zrq9rnml5XUW@DM>ykKFPj1V8&DyKCw3gjgvcsAQ_?blFOl#}J#v#&zqfbt=MW4YT- zsw*qYoy|U;a`L3wWrb_;Oy~1&T~t+7xp!{=E%j$FUS>aRf200ZMM>#H{Jtk&)t-O1 z$@%fj^`3-?=8c)f)A^6IvG3tg^Wj)CZ+A7Xyqn1K4@&!ZmCQ1F#M@*xw5q(b6wwq? z^6Yvl@hEzyV>8?I2Nqwl%k!Q&u+1_R&FML2y!8B3vs@*Ks!Pcp(>!z49*8=qdrfs% q?6q_j_u7cD6rL@=5~{VK4JDXN2?q{6py2?TCN>lbNj1f=rW|V6#7&^_K$FJU+d^cm ziUc zV1&^h3xXAku`4T&gnO=U!tAfo+`n>IdjEju)45!>P{@noo3*v-`ue+#jSrifAEo+Z zX(umzc`Y4@jmCDf`T6MR@c8)q$;pq?)6;glO&I&u_+K?eAq$!y80m>Ll30zG&WU6n zNXZm2KsfDU57){te8f1?lT#(g7-GC6pJIgi@y=e$K?>K)@78J;JGI@T4&mFlV$B(q zvH|5X-f01xq;IufIg!LISsM&0^(&Y8YgF)#U7FJMNmqEerD?(B!|E}@C@)2;B{417 zlY2mS7L+VqYkjHqHyN`pWa@^ZiPE`)dyKJ5)BEGZ?C|ms_lk|=*$B^kWh1mNwELU8 zh^)f0S(RhV4{uZb=NGpL1jiItc@0TTWvI z50J|@t2mE|j?kLBBP8EttT+M)%%ap$&#o89X|O8Wat&4-Fa!8rL*Y!zEqX%-UJu}q zZx|*fT2R=y&%J250KB#D{IunGie+=P$fUZqv*k3_Aso-jb^{p!E}Xhl!~ww`6zmsL bSZ~v(u!6^N&;QPD{M-klyaM^bq|uH4%3xjk literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/large/pause.gif b/data/images/toolbar/default/large/pause.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c3d83a7544e9af09da5ec40314efb6f53c3c482 GIT binary patch literal 929 zcmchVze>YU7{$Na=7NJ@q!;PX;kIP#P(dWY4!H$eqF|FZs7}(&JV7G(hk{z9Z&2t9 zwC|ub)Wx+^x;PgXm*Bl^k_!?<7eoHQ$NA1V_eWY*Q#Vd2Q20;*Ayg<7DwT?17?x!@ zj??XSUDxgPdV|4WG#X7NlOPD@^LZGCQ53-+ukxpY5U5ZUdmO{67hli#qOe+XVM{#_O6?(z z@Z)Cv`b;R%bWv>~9+5yNv64rKZW1~cN?wLXxTGW7iZZKHXzj7LvWgF4cl0}#K%}6X z{JyNq%aP*jv4nx;&h=xikVMe6U&6?wO7ZD}a6wAZvk7K`I&%mYq;pmLWjO#QzK{@E i8_Md^C*>j?;`D@zEVJH9xO|)c+Pu6<`oaAQ4!!_he4C{J literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/large/quit.gif b/data/images/toolbar/default/large/quit.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ee09f47d43098a598d79107c0f5b8cdd5d2faa8 GIT binary patch literal 1142 zcmb`GPi)gx7{KlPajg&qFAJTiqRvSyFj)?!WXOOurB-mm#v!dDQ3RTtG)Os6$rT)m zHcbgFOS{HRGnS34Qq|&UDhJS_F=-oO!VS>C0O9=+aDp^qyHpc7FbOoJ``n;S9JbTm z<>~3C?|a{SzwhhYCvv;u6ha|SX$006Ug!BYJzwsozkd6T?+)&~9N%;4-QLT|UhU}K z>hOW;v3IV&ccAt`qLw*yGn>3q82(Wi{yBf_r_$&zbLj`=iHDWq%7tR%;_R=N)YYZ) zzt=84`Qh89{{0{KmY+Y=|9pIZZFObs>FQdmWnA`uFV8aziXt=;FcKSYLa!3s8{(o2FQ|Gd2nD^44WY*aZad};d9Ab}Xi+vMzF@E| z$xu?Z1(PCb(V3j++vqEtiF9t5fZV&>(^>N? z!15nz5}}B5VQ*%$;@yBf@pLJ>rWn2)4ygrpT=a>F%HUB^wN>l#VNtzfUTU*=#K^hMuIS@+ zne(gtzo8>86Fo4mu{1moSYW5xe+^hb?e8$f*I6?{3ugpi!+Vt&Ia)j?b4gXu(PmY5ui3N43 z;PU|KxSfiP@LS;T{$_mV)ZQaO(=_kMHU>s`%BQDdr6{w}ki~$yL@i>%S z>j7pr7)wrBhtQ<_k1TvgDdsO?hAT1;$|cT!wk_EgJ<hHvR4VW?Ct*^rd3e7%qBRQ}D7w(G_ zAhH~qeBO|CHA#5PSW2`1>p`b3q&KqhY z?4cnVp(P$?ES{h*nPH~rrpp)YC|l*EmhE6t?CHXv;F1^UQ64Ve=AqEyp*qb+Yetx1 zi-+0NFta&{>Py^JmjzoaiL+RlWVbELt2y3zR)*8+4CgI5UVDqe7Uo7SDTv)zmbARa z=SWHT(TaqVb<$fJ9v|HJ;M9@3r|-Rf^x*a5uRp#q3~r$KlZBCy!J9z` z7pYiEh8->BMnsI0aO7t7UX>}i^16gs6b9#Nl8grMn+!89AT1j0+4+vBg8UxEp(J*MMVTaKuS|ZQCh(XI0#rdCG}Lm3WOUN_&l9}3K%?fWcfkTP|x!4OX^E2=(u=Dc(|E?7}KmV(r!fGaQ6hc*tz_Q(oY&wKU9TZ-U|neT3V(~ow{=6%H6wnx1N|e_1MzsS60uzv1#F{ z^$QBal+9{>CI59B_)K=CIFBO`+;gAPa)$WIJx{|-d04O@LR zYb%J7unR^sAWJKbbiAA#&^ILHvNnlT%u4=iUh?Fb{o3ZP0Upkol$-f}c84%F*ph8f1j zzy-AyWTtU(rQRgCT-a(xxSUj?sdS(UrvuDKY-_G&nL>F|4+V=Gbr5Dk-1!fp6lkb) zqy{%kBX0yOL_nT@`(Z|<#uQeVW8fa-g<(#4N+^;G9+LQZD?jOk*d@X>FO|vfO)71{CleZ2;9-Z9Ua#^9gs3nW!u0_ifrvRCfhj8!J49gm zfJqD%OsgfOG=x}p3ymcdRtPU)C`4!k1*`-QF#RSp%n4Z5q4)^l z31HL#!-s)^StZG8u1_D6N)Q9wF;Lf=G8{-Kuuz)N!3?+lDlqEcNfaDfz?=d1?p6f` FYXEOz-+ll9 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/large/rules.gif b/data/images/toolbar/default/large/rules.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee2abcadb92dd636320598d0341963d35caa5b01 GIT binary patch literal 929 zcmZ?wbhEHbRA5kG_#)2$1OkS>(vEQwZkf_PC31n4DqiUd{^cqG#ir4fTFLzyDU&S| zn=SL_sAVtIEn8w)4mU~VHs5J)l{NR1RR^_|4R z@S*lTdmT)ikzu+c*ccUVK?a5&P($v2XN*Z>H~=z`kztXJf-nPI{hX;VHhY7>78$S_ zkS+#xK`5KO&Oyx48|r{shUu~pae1KO>?!AspxWgpxH1D>^1b!}*p}N{cwpL7_!)tY zhq|0W+!mq?=#qdf1`G^L5SK7aclC!^abWX53xSMONibjjfU7@9KiDVi0uMgf1hOy! zx$*~6Cknxw{=HFNK;ZOekd^WeGB3i#LE*yaV88+rzmRwpCJu5s&_H%jhyc~Y#UDUy z0h96<;Nplt2iXf(j|g;-Y4Q&Wr!EG$2WmLnDE1PmEg%OV8xFR;Li(G)0a&gJfK412E)3YjQJoI67{lo>H$j{ZOM`HGVNrTi z1?WAvA@Ib=a5eJ^EJ}g0@NkiD$e03)37|MqxG)|8`$7?H7HX)&y#aE1D}yxvl64j? literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/large/save.gif b/data/images/toolbar/default/large/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..92c26bb44de74e3f11a0be36af28ccdf2be5464e GIT binary patch literal 772 zcmYL{L1@!Z7{|XfO*(BXJ;=yL4h<+IRAB)N&E}zvx?%88+MVL1wU^H9psa@;<67;I zC=)73sgMdC^iU8qo?C?ORw|UTV^7Vz37)*HzW35;4jqjBvU=1yv!UY3xH46&_@(Vb}nT0S_c55G+Ck$*+e1Lc|KBq31E>r9~F^0 z?0yg5L=@)|0Poj(?$p@wgh~YZ1e*4Q%+s$^!@TxwirXLxRz>TbA4U}yn}`y)!zOVz zDUmn*J(qnPKDo|deJc$DHG2b8e7o_9dxlh5**y&XOaN}?^&##?>u;v(`%A!T>_WUx z5h}B@q$bXca805SHSO%`V$GL@sK;$0E2Uo%%bL|D)RzjoOQ^C~o~frFq8g&G-}#?- zY%%d@q@MCQT^9ReBV3ebcv#k$0zUUhK8|YJD+T+Vg@@Hw9hZe*C#ntkqOIgN5mZQe z7Q1HlC_sB$a>!rB|3B*&Q>bEU(1Ak*9bo8K&2uFit*W+C04UmJKu;L56{qLU(C}{B z3TspK0BR&iCveut>T;*CF-*~4mefc93{7s=vRbB*?eq86X1*P0K$7ozM^ALB$T9!k zFhqeT+|Xr)OTNNXJS-e2cq=ih8^cTpOZA}(EaxYbMS zO{9Pf`M>$+hsURf{_Z6}fDa3@D%AHwt#CTkR?BwtX_NvBw^E1}^!bqUG3Wd*4=6mR zo2~;w*vI%9Be-p9JFFo_xlDR$87z$ySQ7UM7cIf;N<>b$ggt6bYe%A$40GqSAY#uJ zmKY@NmU_emHG_kIBS8@fV)+KC+bNc8+#p=>UNsJcD`M#V?8PuO&J3&Ze&>Bboi;xQ zEa6K9KYm6zkkrzQx$IhN;bw){QgguW!ufOwn2%tZM23LvwQT8{-wf0BbALbR^Pm0v H8{B^ZzYn;? literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/large/undo.gif b/data/images/toolbar/default/large/undo.gif new file mode 100644 index 0000000000000000000000000000000000000000..6b637b3644735a0fb19ebd1b78a1902eb4f06de8 GIT binary patch literal 1142 zcmZ?wbhEHbRA5kG_-fC<#Kgod$Iq!G#Ahobs3IY3Aj4y!Dr%v?@1!W@s4g6#DHdxc zo}e$0X{P9=t5$3wlj$H+?W>mUpk3r-QtWA77vND5A>Za9*BYie-CJ#HkYS65Wox*} zv@o-|Nvg}d)R%;sFN-r-o@lo%%XxXW)7CVvy+vUQb7MA^`Wz_#sk)F)%PF{$ycfWUyz@0kVNUQea?U`*+~}`|rR1*6k;eY9K*_Jjgl*um;9@RDJdg z2bvx~%o1Z@_<-&RhK9EO?TBe~b_%Kskw1i!XM#C<(57?0C1r_`pAqq)5a4_v{%z z%1oynW7b+4q#4ZVAygV*K93dXCI)`C2kZ?$%C`8knRq2i^|~$oxFE-A#dSWg++8My zk8e{JoY5$i_40^)gQ1{UUHY)63(WjLpI zEoq~}jH{^(41enEAAn<^;ef-$m5g=v49l-GWtuDyO=AF>0u3$uhJ*_aKskq{?#!7E zD>;}zp#_UMc?W@j6o&os4VO1Jnk=5kh!T?g4jLLjxd#(BcRDFu%wqiU7b)i0|0!^= zHQeW4kg?TGb!zsKBnFs;KzrF01c0H&pAexV)_pW-V+DgKFqoi81t`Y>3N&!ULI_YW zgWU_!2jhKb{)cR)h6oqJ6qIzwKf%HR97|AB{=hvCbi@M-6(l)ieewq$79hEr{|6!& z0n^q)1|&JSlYp_x0Cf6~ztiAOlm7rT6k-J<&_555t$_O)QxF<;sA-xA9xUpx8m+)! F4FDR$qMHB! literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/autodrop.gif b/data/images/toolbar/default/small/autodrop.gif new file mode 100644 index 0000000000000000000000000000000000000000..bd4a8dfc0942b703ff1c5b742e9dd09aa3a241a3 GIT binary patch literal 377 zcmZ?wbhEHb6k`x$_^QeP1d57^J|RxQF`g00e(_ns$$81=Alb#W?s2_^46n^x3?_0 z_w4%Pqr0BGy!-6+gO_igyt;Dw-M#Cdo<98b{pe+hI5JoR E07W}EQ5| kQD8wi1IL5oj1CM(7#Wy6m=qdRuu#)WR1fEE7G|&p0A(U7`Tzg` literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/open.gif b/data/images/toolbar/default/small/open.gif new file mode 100644 index 0000000000000000000000000000000000000000..5903f8019916c8c42b1575a09476080c3f69ece3 GIT binary patch literal 191 zcmZ?wbhEHb6k`x$_{7El1Pc}{IDGig`+G=a1;Fc)U*y7SNAlw>38mdN5pMv)68GmEGCh?lNl5^!}a zna*;=aN&Cv0Y<}F7alQ)a5OX)os?maX<$lFSi!~A)Sw{1V8g(2;DD3>3(Fmb2Z@pq n%s@fjh6uK+4GIb#>M5CLMzl)zXEz!E@$eJ+gk z0;0J1oFi0QF`pHTb-@y7>;X##rUnKJkQi$#pUi=s3noY&uzU_Qs`bbvhI6efky1eJ zoMJtN8-ASUTCeyqf{oH!Q07&@$94rM29h;c0^|b4xEjD*hONO2C43+yK<5wDMSO(Cr|F| z-@hNE4h$6k@ds1}=jSLC=jUXWBxV++GARCJVPs(7VbB3702#}`k~HC@=jy!{uh0Hw zO^_%%kTfrWeUAE$)-{}Y3`|G3GddL}F{m*nFm7UCYiWAe;Gx05-GI!~nb6Aapu%8y jfvthzfx~P8zAKCyTx1(M?{KpIYmjSdZfTVkWUvMRbtXZx literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/redo.gif b/data/images/toolbar/default/small/redo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b0f1f03ee63c598a488df921a70408a7c37278d7 GIT binary patch literal 167 zcmZ?wbhEHb6k`x$_{7Qp0uBre4Gati7#RLD?BBm1C;$YC|M&wcgY$C~it}?aOA<4S zQW+F~vM@3*urla?q{uN$W_WPIg5`n1gT~C1a}DlkmrrbveEwZY MdHwD8-&q)}0n7<80{{R3 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/restart.gif b/data/images/toolbar/default/small/restart.gif new file mode 100644 index 0000000000000000000000000000000000000000..9350c8bd3e9be726f1fbc9e41649b8436b058f1e GIT binary patch literal 192 zcmZ?wbhEHb6k`x$_{7Qp0u2le4Gnkh-1-0i|Ni~^!9om*|M&wcgY$C~it}?aOA<4S zQW+F~vM@3*urla?RDiTIFc(Gay7SLK&tWy|CWb@R>`g2cDh3>a4pm|-6$iZ-1TL^P z@;ETG|KGvK!1UsQ4I_~HzyhWou!MnlaLR^}AH=f(t7NE`VPH`>T*@H8V8kc~B2^d! P#Ct_0Crq5c$zTltHsCW6 literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/rules.gif b/data/images/toolbar/default/small/rules.gif new file mode 100644 index 0000000000000000000000000000000000000000..84cc5cbdeb1022908b11fc8c13618347882902bd GIT binary patch literal 227 zcmZ?wbhEHb6k`x$_{7ct1`P}iKma2C|7ZCB|Ns8|`xXE32UG^<=O`5C=VX>7W)`I~ zDE?$&WME)t&;jWIX=h-bTCwZSzvCw|6DGH}$aZXLFBFK86ktn{xf8I5*Y)r|m3@kisQOvB&Q4G9nENWJ23@rR=K&~nSg8)mb41)p-OVoT81@7hZ P=PzHgY4a9#P6lfL_(DfB literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/save.gif b/data/images/toolbar/default/small/save.gif new file mode 100644 index 0000000000000000000000000000000000000000..8707b7499f1a046261ffe0604c083ab8322141b9 GIT binary patch literal 276 zcmZ?wbhEHb6k`x$_{_lo1_ulb3?d>T8W+|z`((v15yeymVsrRz)8>5do5nuHvUiG0GcbnCx27^0{EDYQZ3>IKP2M!qqrUq68hLTbS z#sf?O94-oVKpX1X+B<+$TLVKIh{wRr#?CgAl?})O@z|J{S=oRP%4KI_2JygLIVJ`W Un{6kEC*Ic}bN<4`i-HW+0NtZKQ2+n{ literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/statistics.gif b/data/images/toolbar/default/small/statistics.gif new file mode 100644 index 0000000000000000000000000000000000000000..7db06f8aabe7b4a4dade0ea8e867be9ea69cb986 GIT binary patch literal 169 zcmZ?wbhEHb6k`x$_{huv2LJyvFznyIU-2J*KxJ@#jzV#MPG(7BW>G4G;!hSv1_ovZ z9gsSZ76zvDIsGe7+dfe0;Jd)4$Lw5D%h0Uez-BPP=YZA$hfR)3+6Np?b*^Dx)-;}w X!gZiQg*2++KflC}bf=0y1_o;Y8z?r* literal 0 HcmV?d00001 diff --git a/data/images/toolbar/default/small/undo.gif b/data/images/toolbar/default/small/undo.gif new file mode 100644 index 0000000000000000000000000000000000000000..7045f29d9cd79a66814ee669f6591d9cec54942a GIT binary patch literal 169 zcmZ?wbhEHb6k`x$_{7Qp0uBre4Gati7#RLD?BBm1C;$YC|M&wcgY$C~it}?aOA<4S zQW+F~vM@3*urla?BZD;nK}#{< literal 0 HcmV?d00001 diff --git a/data/images/tree/emptynode.gif b/data/images/tree/emptynode.gif new file mode 100644 index 0000000000000000000000000000000000000000..a086505573406b70726ad93497512508efa3e529 GIT binary patch literal 135 zcmZ?wbh9u|6ky5F;5JbHe OWr%sPDrznRgEasKHYh{@ literal 0 HcmV?d00001 diff --git a/data/images/tree/openfolder.gif b/data/images/tree/openfolder.gif new file mode 100644 index 0000000000000000000000000000000000000000..4a3d97f04c641d9085e54312062b9aae6df28c0d GIT binary patch literal 172 zcmZ?wbhEHb6kyHeNnJl~)SlkpCHtDdqU10D{nDZ}y Hfx#L8AB73T!Vp$K|tXc3y+a;Lqfnw0TBl0R0bv z0Z6d}lMzp!!0rQ#5nKul>=GQDdl+<%i!+=NWZ-wOi#?>EvO(tUMg~R!hVvUeSQvVk MnKxLla4}c|0E|H#(EtDd literal 0 HcmV?d00001 diff --git a/data/images/wizard.gif b/data/images/wizard.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c7c9d7beac92c21715a60853be551c3529a630b GIT binary patch literal 1972 zcmdT@?{8Dr8Gi3C`})WAy(z)DI1V`pt!uyoJ7ndCIPo>1w3E8Y?lLJKqUk1M6Pcp+ znz6;5vgz6v8s|sBO4*1eR+$A^0cn-1t{z%TcWtALu@Ai;HZ5vXa+#tPX{q8#(a1!E zcNib`H|#w}M~}{V&U@bHJmd5QJ#nLyjY%3mgkG*`9`@WmTSdw zt?}{iKK|rSpR9ehw)v0E#(c3c-)PjtMy=SWH5!i^w{G2fs^R~1?0C#4-uUM0d-{1NC;D!xrUt+> zb6;IRZ|8I30qJybMW!fn`Q@gC#My*<59;nVO&HMadlyM$7H*(D{$o)yk+0}>Ps1%L zrWU7Ole(76idxPv#cdV`5sC4<(8~_Vtn2*s^>CGF@hgNUW}3PqWa8R(iKg!9TYxwb1l1seFjB##+#F%&Qo56)CUnk&SFIq;8!yfLE$vfaK^0gT`o3P0y2=E(ivFA$GvdvnR`s^imH*p z^wBE6Z>2uqIVvj0-S^r`#zfDs3g8W5N3LH|D*SW7lE&S;UmtM9*0m~Wf2AaQVg)7c ziLK^qoENk#>9kZb@Z2D#oL;j&=VGh4%9h)OTA(HUTLUYsQyv#+Rl<2mCCJN{N(N4< zYPc%AaPO@W03(7ycJHWFu4gbm@RaPrWO|kr{=)7{PgQv-gzsc=OVAxXJ6er*%_%ww zGBSd;pqd+wb=D0}%*f91H+e$Q`e<)w$gX_w`Phdl!*vJNG< zxVuZu6VP(A!jIQ=e@G#{rOX7Bz;)ZQAKfNAC&M%19YhMbj9XH)q%dj^rDgYzOrpIc zGaMMqnL5?FZrHp_gk#eBr6Xk7Bij{Lt?NyGWa}3y9=DMdOBkj#)^=4SH;}D0N4O*d zTm_>yxSe4>`VQq!PuaW}{!}HK*9$b{3ASILgcFJ#ZOiUsawfiHz@A*i<3p5iRs*kG z;lH8i{vo4Rk}l$H*>+2zd&CMcS|I5SpaslDC0)!Zj|G2PriOsTqG%3j1U|!`{sX!8 zN1VcHYfXP)3mO#`jI3SMm=H4TLy)oE(MbIP5PJ=BHx!sw3BWJwO{-X(QF-HxN^D*! z*kX9wcmd!nqR17(bqqh5W<*7V3hK0)yiovd1;8hRZ`gXmok(bU`=Hg^y-hg1i7W+( z;_#n2Wdb0~%@d5RDU<9*)Z%G_a6Y5ER;_4kNSpA=)aIWx`g!@YpbuMhN@Mn*7j2^` e8}A+^^9%570Hz%>hWY=&C$lE|{+(w9==~40J!5$Q literal 0 HcmV?d00001 diff --git a/data/images/wizardcards.gif b/data/images/wizardcards.gif new file mode 100644 index 0000000000000000000000000000000000000000..489fc78bfec2f59e1506f16444dc08a085a205d3 GIT binary patch literal 1710 zcmdUt|8Emz9LGQRTv=!#cRtVU?K|X+T@py}M-cK8AuvMV1_44i;5fI_32rBZou&$eMNyO_Nd~tJVY!%- zMYk-5C6bpOmdl1(;0(YICtTTN%!Jc zi@*N#Yd&9ukdZVQA;fSKBTWoKZV*D?D?a_?-bhbZ@N!i5CmVoO@2*aB{-N!_8#c#A2@hu@bHU6eI@>eH6Ec*u)^3Fv*M+r!P3$Ok4F%y zD#pjHD^o*~zriE8gqEfgW7ZY#z1Y~WcGaqi`udiN4?#FJSlZb5c2i4J%WW-HRpVBn z=+lEmjo!7#s#@w>>Z?vLLc!vIU#j!C1XqhmIZjxuE35TpO9k6+Klb4D=x4@u+e22- z?pug|Jb07fleIDf;nIp%H;%R)rw`w}%C{~mT@55@*ik(HjDp$&CHtn-D|&+Fj}_Eh z>QS=bGcK4P;lh z8otArjF+k(?VHWc9-tYJWv#rmmpqV945Nl}+(bERrslA@T}t1|cr~zYaSvn4DFJ0!=}motHb5gS z$nsT6xE10CVkP|G?via~Pvz34;`_wK< z*no%6+7lh3MNm?z!muH1JibMrpLJ|;YnUtVD4;FYRLVxLhce2vmy9y;JY+421+Wyb zJ8^bmVb|seNA-%?2|1-u@XB=ctgRVGIj(m>`_jhllxiKDaw$507^s|cVxTT>s$~GW zbgOb+2Zr?`Lp=BHj@gMiU#e9ozVCH|pmIy<+8jTs0j%E%N};l#>E-9%fYTHH_lL8{ z-`Q~ut+R*ke}EId-l8}UXw z#RdtnKmr7tvO)q0B*X%V6$=(D5iIxwdcjn&F9nCp_ zh<=HQ;P^WVP|!$Akw{^t5P>F%k#O$svkSv87#SIX*=)w);UTS+h_$sf_I%)nadN582t-u-R+5TThlfKdmE!dD6!G!#I6gkc!NCD`c6N}LmxrRFA}lQ}p}M*n z^Yim)Y;45D!~{A!J8^b)hUDaA9334&uh%0ZBLf>78z?O;h1>1M;NT$I+S(8q8Ht#f z7$_79s8lNK@9!feB?Xz8nOIp_L4JNdEEWqE7Z))%H;1XIDR?{{jE#-K>-D0xwiW{e z1L*GVMn^{nT3T9getr&-NCdH1jEIN`NF)+OM@K^@lOZ-X7Q4HMHE_VzZ^YBe+( z4N_B6vA(_zolb|<)m0b_2BfE_BP%NlMxzlqIXTG9&Bg5OET*TYVKSL8IXQ`ff&z?> zkE5`#5Tm1`C@wC>@bECKRx5^vhG4hbQBqQZ{{DXS^z^{taG|$XX z<(;}leOU1MJvJaNj?u+-Ro?5nvf@)?qJ`~O?6e|3vM`SwaEcx9c$M^NsXWMOd}?>W zqavmBhD<<1g^J}#nerDap727d2_+=;g>b*iZE}Z1U+9>c+NnTs7#{ra(r~Mq_yx+F z2{F}LqU`H3GpQy8r?R<($5dh@k|G0D;55fm2dA{ZvC75yogWGL^rF z&2+9WU%fTfKP2^C->pppr}_asOl5a#YioC9LISCqy+2NBraH?)>j;rVZG+@%_YN6i9GAXX#J*?_lpHIWno$5K;}jhPxK8q*T&53VMZXMEp!W zkE2%5cUTjti4tt<7Q$Iw_2%0*RdqrhKj(0|1Rw4GJ3zgkVMfFZb132CQpPZsYKD2Q qW 50 True - 0 + False False GTK_JUSTIFY_LEFT @@ -138,7 +138,7 @@ 50 True - 0 + False False GTK_JUSTIFY_LEFT @@ -163,7 +163,7 @@ 50 True - 0% + False False GTK_JUSTIFY_LEFT @@ -188,7 +188,7 @@ 50 True - 0% + False False GTK_JUSTIFY_LEFT @@ -213,7 +213,7 @@ 50 True - 0 + False False GTK_JUSTIFY_LEFT @@ -391,7 +391,7 @@ 50 True - 0 + False False GTK_JUSTIFY_LEFT @@ -416,7 +416,7 @@ 50 True - 0 + False False GTK_JUSTIFY_LEFT @@ -441,7 +441,7 @@ 50 True - 0% + False False GTK_JUSTIFY_LEFT @@ -466,7 +466,7 @@ 50 True - 0% + False False GTK_JUSTIFY_LEFT @@ -491,7 +491,7 @@ 50 True - 0 + False False GTK_JUSTIFY_LEFT @@ -738,7 +738,7 @@ True - 0:00 + False False GTK_JUSTIFY_LEFT @@ -762,7 +762,7 @@ True - 0:00 + False False GTK_JUSTIFY_LEFT @@ -786,7 +786,7 @@ True - 0:00 + False False GTK_JUSTIFY_LEFT @@ -834,7 +834,7 @@ True - 0 + False False GTK_JUSTIFY_LEFT @@ -858,7 +858,7 @@ True - 0 + False False GTK_JUSTIFY_LEFT @@ -882,7 +882,7 @@ True - 0 + False False GTK_JUSTIFY_LEFT @@ -930,7 +930,7 @@ True - 0 + False False GTK_JUSTIFY_LEFT @@ -954,7 +954,7 @@ True - 0 + False False GTK_JUSTIFY_LEFT @@ -978,7 +978,7 @@ True - 0 + False False GTK_JUSTIFY_LEFT @@ -1492,14 +1492,14 @@ Set timeouts GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE + GTK_WIN_POS_CENTER_ON_PARENT True True False True False False - GDK_WINDOW_TYPE_HINT_NORMAL + GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST True @@ -1985,7 +1985,7 @@ Set colors GTK_WINDOW_TOPLEVEL - GTK_WIN_POS_NONE + GTK_WIN_POS_CENTER_ON_PARENT True True False @@ -2043,6 +2043,7 @@ + 4 True 8 3 @@ -2256,214 +2257,6 @@ - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 0 - 1 - 4 - 4 - fill - - - - - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 1 - 2 - 4 - 4 - fill - - - - - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 2 - 3 - 4 - 4 - fill - - - - - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 3 - 4 - 4 - 4 - fill - - - - - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 5 - 6 - 4 - 4 - fill - - - - - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 4 - 5 - 4 - 4 - fill - - - - - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 6 - 7 - 4 - 4 - fill - - - - - - - True - #000000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - - - 1 - 2 - 7 - 8 - 4 - 4 - fill - - - - True @@ -3079,6 +2872,1244 @@ + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 1 + 2 + fill + fill + + + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 2 + 3 + fill + fill + + + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 3 + 4 + fill + fill + + + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 4 + 5 + fill + fill + + + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 5 + 6 + fill + fill + + + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 6 + 7 + fill + fill + + + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 7 + 8 + fill + fill + + + + + + True + True + False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + + + 1 + 2 + 0 + 1 + fill + fill + + + + + 0 + True + True + + + + + + + + Set font + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_CENTER_ON_PARENT + True + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + 0 + False + True + GTK_PACK_END + + + + + + 4 + True + 7 + 3 + False + 0 + 0 + + + + True + HTML: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 0 + 1 + 4 + 4 + fill + + + + + + + True + Small: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 1 + 2 + 4 + 4 + fill + + + + + + + True + Fixed: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 2 + 3 + 4 + 4 + fill + + + + + + + True + Tableau default: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 3 + 4 + 4 + 4 + fill + + + + + + + True + Tableau fixed: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 4 + 5 + 4 + 4 + fill + + + + + + + True + Tableau small: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 6 + 7 + 4 + 4 + fill + + + + + + + True + Tableau large: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 5 + 6 + 4 + 4 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + 1 + 2 + 0 + 1 + 4 + 4 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + 1 + 2 + 1 + 2 + 4 + 4 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + 1 + 2 + 2 + 3 + 4 + 4 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + 1 + 2 + 3 + 4 + 4 + 4 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + 1 + 2 + 4 + 5 + 4 + 4 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + 1 + 2 + 5 + 6 + 4 + 4 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 4 + 0 + + + 1 + 2 + 6 + 7 + 4 + 4 + fill + + + + + + + True + True + GTK_RELIEF_NORMAL + True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-select-font + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Change... + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + 2 + 3 + 0 + 1 + fill + + + + + + + True + True + GTK_RELIEF_NORMAL + True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-select-font + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Change... + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + 2 + 3 + 1 + 2 + fill + + + + + + + True + True + GTK_RELIEF_NORMAL + True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-select-font + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Change... + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + 2 + 3 + 2 + 3 + fill + + + + + + + True + True + GTK_RELIEF_NORMAL + True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-select-font + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Change... + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + 2 + 3 + 3 + 4 + fill + + + + + + + True + True + GTK_RELIEF_NORMAL + True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-select-font + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Change... + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + 2 + 3 + 4 + 5 + fill + + + + + + + True + True + GTK_RELIEF_NORMAL + True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-select-font + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Change... + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + 2 + 3 + 5 + 6 + fill + + + + + + + True + True + GTK_RELIEF_NORMAL + True + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-select-font + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + Change... + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + + + + 2 + 3 + 6 + 7 + fill + + + 0 diff --git a/data/pysolfc.gladep b/data/pysolfc.gladep new file mode 100644 index 00000000..70c22541 --- /dev/null +++ b/data/pysolfc.gladep @@ -0,0 +1,10 @@ + + + + + PySolFC + pysol + FALSE + TRUE + glade-translations + diff --git a/po/games.pot b/po/games.pot index d8839805..cbc25b17 100644 --- a/po/games.pot +++ b/po/games.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Fri Aug 11 02:15:03 2006\n" +"POT-Creation-Date: Tue Aug 22 21:32:47 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -48,6 +48,9 @@ msgstr "" msgid "Abacus" msgstr "" +msgid "Accordion" +msgstr "" + msgid "Aces High" msgstr "" @@ -123,6 +126,9 @@ msgstr "" msgid "Another Round" msgstr "" +msgid "Apophis" +msgstr "" + msgid "Appachan's Waterfall" msgstr "" @@ -204,6 +210,9 @@ msgstr "" msgid "Balarama" msgstr "" +msgid "Baroness" +msgstr "" + msgid "Bastille Day" msgstr "" @@ -462,6 +471,9 @@ msgstr "" msgid "Castle of Indolence" msgstr "" +msgid "Castles End" +msgstr "" + msgid "Castles in Spain" msgstr "" @@ -495,6 +507,9 @@ msgstr "" msgid "Chelicera" msgstr "" +msgid "Cheops" +msgstr "" + msgid "Chequers" msgstr "" @@ -570,6 +585,9 @@ msgstr "" msgid "Corkscrew" msgstr "" +msgid "Corner Card" +msgstr "" + msgid "Corner Suite" msgstr "" @@ -801,6 +819,9 @@ msgstr "" msgid "Doublets" msgstr "" +msgid "Doublets II" +msgstr "" + msgid "Dover" msgstr "" @@ -870,6 +891,9 @@ msgstr "" msgid "Eight Times Eight" msgstr "" +msgid "Eight by Eight" +msgstr "" + msgid "Elba" msgstr "" @@ -984,6 +1008,9 @@ msgstr "" msgid "Five Aces" msgstr "" +msgid "Five Piles" +msgstr "" + msgid "Five Pyramids" msgstr "" @@ -1335,6 +1362,9 @@ msgstr "" msgid "Idle Aces" msgstr "" +msgid "Idle Year" +msgstr "" + msgid "IloveU" msgstr "" @@ -1557,6 +1587,9 @@ msgstr "" msgid "Labyrinth" msgstr "" +msgid "Ladies Battle" +msgstr "" + msgid "Lady Betty" msgstr "" @@ -2277,6 +2310,9 @@ msgstr "" msgid "Mesh" msgstr "" +msgid "Methuselah" +msgstr "" + msgid "Midnight Oil" msgstr "" @@ -2601,6 +2637,9 @@ msgstr "" msgid "Phantom Blockade" msgstr "" +msgid "Pharaohs" +msgstr "" + msgid "Phoenix" msgstr "" @@ -2934,6 +2973,9 @@ msgstr "" msgid "Senate +" msgstr "" +msgid "Senior Wrangler" +msgstr "" + msgid "Serpent" msgstr "" @@ -3204,6 +3246,9 @@ msgstr "" msgid "Streets and Alleys" msgstr "" +msgid "Striptease" +msgstr "" + msgid "Stronghold" msgstr "" @@ -3363,12 +3408,18 @@ msgstr "" msgid "Tomb" msgstr "" +msgid "Toni" +msgstr "" + msgid "Totally Random-Made" msgstr "" msgid "Tournament" msgstr "" +msgid "Tower of Babel" +msgstr "" + msgid "Tower of Hanoy" msgstr "" @@ -3483,6 +3534,9 @@ msgstr "" msgid "Vamana" msgstr "" +msgid "Vanishing Cross" +msgstr "" + msgid "Varaha" msgstr "" diff --git a/po/pysol.pot b/po/pysol.pot index ce48a38a..d04f0a27 100644 --- a/po/pysol.pot +++ b/po/pysol.pot @@ -1,11 +1,20 @@ +# #-#-#-#-# pysol-1.pot (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION # FIRST AUTHOR , YEAR. # +# #-#-#-#-# pysol-2.pot (PACKAGE VERSION) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# pysol-1.pot (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: Fri Aug 11 02:14:56 2006\n" +"POT-Creation-Date: Tue Aug 22 21:33:40 2006\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,48 +22,55 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" "Generated-By: pygettext.py 1.5\n" +"#-#-#-#-# pysol-2.pot (PACKAGE VERSION) #-#-#-#-#\n" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2006-08-22 21:33+0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" - -#: pysollib/actions.py:360 pysollib/tk/toolbar.py:197 +#: pysollib/actions.py:358 pysollib/tk/toolbar.py:197 msgid "New game" msgstr "" -#: pysollib/actions.py:373 pysollib/tk/menubar.py:699 -#: pysollib/tk/menubar.py:713 +#: pysollib/actions.py:371 pysollib/tk/menubar.py:704 +#: pysollib/tk/menubar.py:718 msgid "Select game" msgstr "" -#: pysollib/actions.py:396 +#: pysollib/actions.py:388 msgid "Invalid game number" msgstr "" -#: pysollib/actions.py:397 -msgid "" -"Invalid game number\n" +#: pysollib/actions.py:389 +msgid "Invalid game number\n" msgstr "" -#: pysollib/actions.py:414 +#: pysollib/actions.py:406 msgid "Select next game number" msgstr "" -#: pysollib/actions.py:423 pysollib/actions.py:433 +#: pysollib/actions.py:415 pysollib/actions.py:425 msgid "Select new game number" msgstr "" -#: pysollib/actions.py:424 +#: pysollib/actions.py:416 msgid "" "\n" "\n" "Enter new game number" msgstr "" -#: pysollib/actions.py:425 +#: pysollib/actions.py:417 msgid "&Next number" msgstr "" -#: pysollib/actions.py:425 pysollib/app.py:1143 pysollib/app.py:1155 -#: pysollib/game.py:904 pysollib/game.py:1828 pysollib/main.py:439 -#: pysollib/main.py:447 pysollib/tk/colorsdialog.py:132 +#: pysollib/actions.py:417 pysollib/app.py:1150 pysollib/app.py:1162 +#: pysollib/game.py:925 pysollib/game.py:1861 pysollib/main.py:439 +#: pysollib/main.py:447 pysollib/tk/colorsdialog.py:122 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 #: pysollib/tk/fontsdialog.py:205 pysollib/tk/gameinfodialog.py:155 #: pysollib/tk/playeroptionsdialog.py:85 @@ -70,12 +86,12 @@ msgstr "" msgid "&OK" msgstr "" -#: pysollib/actions.py:425 pysollib/app.py:1155 pysollib/game.py:904 -#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 -#: pysollib/game.py:1318 pysollib/tk/colorsdialog.py:132 +#: pysollib/actions.py:417 pysollib/app.py:1162 pysollib/game.py:925 +#: pysollib/game.py:1311 pysollib/game.py:1326 pysollib/game.py:1333 +#: pysollib/game.py:1339 pysollib/tk/colorsdialog.py:122 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 -#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:894 -#: pysollib/tk/menubar.py:896 pysollib/tk/playeroptionsdialog.py:85 +#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:1000 +#: pysollib/tk/menubar.py:1002 pysollib/tk/playeroptionsdialog.py:85 #: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:240 #: pysollib/tk/selectgame.py:266 pysollib/tk/selectgame.py:407 #: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:170 @@ -83,128 +99,128 @@ msgstr "" msgid "&Cancel" msgstr "" -#: pysollib/actions.py:441 +#: pysollib/actions.py:433 msgid "Select random game" msgstr "" -#: pysollib/actions.py:477 +#: pysollib/actions.py:469 msgid "Select next game" msgstr "" -#: pysollib/actions.py:510 pysollib/tk/toolbar.py:211 +#: pysollib/actions.py:502 pysollib/tk/toolbar.py:211 msgid "Quit " msgstr "" -#: pysollib/actions.py:560 +#: pysollib/actions.py:552 msgid "Clear bookmarks" msgstr "" -#: pysollib/actions.py:561 +#: pysollib/actions.py:553 msgid "Clear all bookmarks ?" msgstr "" -#: pysollib/actions.py:571 +#: pysollib/actions.py:563 msgid "Restart game" msgstr "" -#: pysollib/actions.py:572 +#: pysollib/actions.py:564 msgid "Restart this game ?" msgstr "" -#: pysollib/actions.py:613 +#: pysollib/actions.py:605 msgid "" "Comments for %s:\n" "\n" msgstr "" -#: pysollib/actions.py:615 +#: pysollib/actions.py:607 msgid "Comments for " msgstr "" -#: pysollib/actions.py:633 pysollib/actions.py:669 +#: pysollib/actions.py:625 pysollib/actions.py:661 msgid "Error while writing to file" msgstr "" -#: pysollib/actions.py:636 pysollib/actions.py:672 +#: pysollib/actions.py:628 pysollib/actions.py:664 msgid " Info" msgstr "" -#: pysollib/actions.py:637 +#: pysollib/actions.py:629 msgid "" "Comments were appended to\n" "\n" msgstr "" -#: pysollib/actions.py:654 +#: pysollib/actions.py:646 msgid "Demo statistics" msgstr "" -#: pysollib/actions.py:657 +#: pysollib/actions.py:649 msgid "Your statistics" msgstr "" -#: pysollib/actions.py:673 +#: pysollib/actions.py:665 msgid "" " were appended to\n" "\n" msgstr "" -#: pysollib/actions.py:687 +#: pysollib/actions.py:679 msgid " Demo" msgstr "" -#: pysollib/actions.py:687 +#: pysollib/actions.py:679 msgid " Demo " msgstr "" -#: pysollib/actions.py:690 pysollib/actions.py:708 +#: pysollib/actions.py:682 pysollib/actions.py:700 msgid " for " msgstr "" -#: pysollib/actions.py:696 pysollib/actions.py:715 +#: pysollib/actions.py:688 pysollib/actions.py:707 msgid "Statistics for " msgstr "" -#: pysollib/actions.py:699 pysollib/tk/selectgame.py:350 +#: pysollib/actions.py:691 pysollib/tk/selectgame.py:350 #: pysollib/tk/toolbar.py:208 msgid "Statistics" msgstr "" -#: pysollib/actions.py:702 +#: pysollib/actions.py:694 msgid "Full log" msgstr "" -#: pysollib/actions.py:705 +#: pysollib/actions.py:697 msgid "Session log" msgstr "" -#: pysollib/actions.py:711 +#: pysollib/actions.py:703 msgid "Game Info" msgstr "" -#: pysollib/actions.py:720 +#: pysollib/actions.py:712 msgid "Full log for " msgstr "" -#: pysollib/actions.py:725 +#: pysollib/actions.py:717 msgid "Session log for " msgstr "" -#: pysollib/actions.py:730 +#: pysollib/actions.py:722 msgid "Reset all statistics" msgstr "" -#: pysollib/actions.py:731 +#: pysollib/actions.py:723 msgid "" "Reset ALL statistics and logs for player\n" "%s ?" msgstr "" -#: pysollib/actions.py:737 +#: pysollib/actions.py:729 msgid "Reset game statistics" msgstr "" -#: pysollib/actions.py:738 +#: pysollib/actions.py:730 msgid "" "Reset statistics and logs for player\n" "%s\n" @@ -212,51 +228,51 @@ msgid "" "%s ?" msgstr "" -#: pysollib/actions.py:794 +#: pysollib/actions.py:785 msgid "Play demo" msgstr "" -#: pysollib/actions.py:805 +#: pysollib/actions.py:796 msgid "Set player options" msgstr "" -#: pysollib/actions.py:906 +#: pysollib/actions.py:810 msgid "Sound settings" msgstr "" -#: pysollib/actions.py:927 +#: pysollib/actions.py:819 msgid "Set colors" msgstr "" -#: pysollib/actions.py:946 +#: pysollib/actions.py:839 msgid "Set fonts" msgstr "" -#: pysollib/actions.py:955 +#: pysollib/actions.py:848 msgid "Set timeouts" msgstr "" -#: pysollib/app.py:87 +#: pysollib/app.py:86 msgid "Unknown" msgstr "" -#: pysollib/app.py:1005 +#: pysollib/app.py:1012 msgid "Loading %s %s..." msgstr "" -#: pysollib/app.py:1040 +#: pysollib/app.py:1047 msgid " load error" msgstr "" -#: pysollib/app.py:1041 +#: pysollib/app.py:1048 msgid "Error while loading " msgstr "" -#: pysollib/app.py:1135 +#: pysollib/app.py:1142 msgid "Incompatible " msgstr "" -#: pysollib/app.py:1137 +#: pysollib/app.py:1144 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -265,58 +281,57 @@ msgid "" "Please select a %s type %s.\n" msgstr "" -#: pysollib/app.py:1153 +#: pysollib/app.py:1160 msgid "Please select a %s type %s" msgstr "" -#: pysollib/game.py:823 pysollib/game.py:829 -msgid "" -"Player\n" +#: pysollib/game.py:844 pysollib/game.py:850 +msgid "Player\n" msgstr "" -#: pysollib/game.py:900 +#: pysollib/game.py:921 msgid "Discard current game ?" msgstr "" -#: pysollib/game.py:1244 +#: pysollib/game.py:1265 msgid "" "\n" "You have reached\n" "#%d in the %s of playing time" msgstr "" -#: pysollib/game.py:1247 +#: pysollib/game.py:1268 msgid "" "\n" "and #%d in the %s of moves" msgstr "" -#: pysollib/game.py:1249 +#: pysollib/game.py:1270 msgid "" "\n" "You have reached\n" "#%d in the %s of moves" msgstr "" -#: pysollib/game.py:1252 +#: pysollib/game.py:1273 msgid "" "\n" "and #%d in the %s of total moves" msgstr "" -#: pysollib/game.py:1254 +#: pysollib/game.py:1275 msgid "" "\n" "You have reached\n" "#%d in the %s of total moves" msgstr "" -#: pysollib/game.py:1281 pysollib/game.py:1297 +#: pysollib/game.py:1302 pysollib/game.py:1318 #: pysollib/tk/soundoptionsdialog.py:100 msgid "Game won" msgstr "" -#: pysollib/game.py:1282 +#: pysollib/game.py:1303 msgid "" "\n" "Congratulations, this\n" @@ -327,12 +342,12 @@ msgid "" "%s\n" msgstr "" -#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 -#: pysollib/game.py:1318 pysollib/tk/menubar.py:257 +#: pysollib/game.py:1311 pysollib/game.py:1326 pysollib/game.py:1333 +#: pysollib/game.py:1339 pysollib/tk/menubar.py:256 msgid "&New game" msgstr "" -#: pysollib/game.py:1298 +#: pysollib/game.py:1319 msgid "" "\n" "Congratulations, you did it !\n" @@ -342,100 +357,100 @@ msgid "" "%s\n" msgstr "" -#: pysollib/game.py:1310 pysollib/game.py:1316 +#: pysollib/game.py:1331 pysollib/game.py:1337 #: pysollib/tk/soundoptionsdialog.py:98 msgid "Game finished" msgstr "" -#: pysollib/game.py:1311 pysollib/game.py:1829 +#: pysollib/game.py:1332 pysollib/game.py:1862 msgid "" "\n" "Game finished\n" msgstr "" -#: pysollib/game.py:1317 +#: pysollib/game.py:1338 msgid "" "\n" "Game finished, but not without my help...\n" msgstr "" -#: pysollib/game.py:1318 +#: pysollib/game.py:1339 msgid "&Restart" msgstr "" -#: pysollib/game.py:1720 +#: pysollib/game.py:1753 msgid "Score %6d" msgstr "" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Cool" msgstr "" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Great" msgstr "" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Wow" msgstr "" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Yeah" msgstr "" -#: pysollib/game.py:1820 pysollib/game.py:1832 pysollib/game.py:1845 +#: pysollib/game.py:1853 pysollib/game.py:1865 pysollib/game.py:1878 msgid " Autopilot" msgstr "" -#: pysollib/game.py:1821 +#: pysollib/game.py:1854 msgid "" "\n" "Game solved in %d moves.\n" msgstr "" -#: pysollib/game.py:1844 +#: pysollib/game.py:1877 msgid "&Hmm" msgstr "" -#: pysollib/game.py:1844 +#: pysollib/game.py:1877 msgid "&Oh well" msgstr "" -#: pysollib/game.py:1844 +#: pysollib/game.py:1877 msgid "&That's life" msgstr "" -#: pysollib/game.py:1846 +#: pysollib/game.py:1879 msgid "" "\n" "This won't come out...\n" msgstr "" -#: pysollib/game.py:2264 +#: pysollib/game.py:2298 msgid "Set bookmark" msgstr "" -#: pysollib/game.py:2265 +#: pysollib/game.py:2299 msgid "Replace existing bookmark %d ?" msgstr "" -#: pysollib/game.py:2287 +#: pysollib/game.py:2321 msgid "Goto bookmark" msgstr "" -#: pysollib/game.py:2288 +#: pysollib/game.py:2322 msgid "Goto bookmark %d ?" msgstr "" -#: pysollib/game.py:2319 +#: pysollib/game.py:2353 msgid "Open game" msgstr "" -#: pysollib/game.py:2330 pysollib/game.py:2339 pysollib/game.py:2344 +#: pysollib/game.py:2364 pysollib/game.py:2373 pysollib/game.py:2378 msgid "Load game error" msgstr "" -#: pysollib/game.py:2331 +#: pysollib/game.py:2365 msgid "" "Error while loading game.\n" "\n" @@ -443,22 +458,22 @@ msgid "" "but this could also be a bug you might want to report." msgstr "" -#: pysollib/game.py:2340 +#: pysollib/game.py:2374 msgid "Error while loading game" msgstr "" -#: pysollib/game.py:2345 +#: pysollib/game.py:2379 msgid "" "Internal error while loading game.\n" "\n" "Please report this bug." msgstr "" -#: pysollib/game.py:2370 +#: pysollib/game.py:2404 msgid "Save game error" msgstr "" -#: pysollib/game.py:2371 +#: pysollib/game.py:2405 msgid "Error while saving game" msgstr "" @@ -699,12 +714,12 @@ msgid "" msgstr "" #: pysollib/games/canfield.py:528 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1304 pysollib/util.py:81 +#: pysollib/stack.py:1326 pysollib/util.py:80 msgid "King" msgstr "" #: pysollib/games/canfield.py:531 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1303 pysollib/util.py:81 +#: pysollib/stack.py:1325 pysollib/util.py:80 msgid "Queen" msgstr "" @@ -721,11 +736,11 @@ msgid "X" msgstr "" #: pysollib/games/golf.py:114 pysollib/games/golf.py:300 -#: pysollib/stack.py:1915 +#: pysollib/stack.py:1980 msgid "Tableau. No building." msgstr "" -#: pysollib/games/golf.py:385 pysollib/stack.py:1848 +#: pysollib/games/golf.py:385 pysollib/stack.py:1913 msgid "Foundation. Build up regardless of suit." msgstr "" @@ -733,11 +748,11 @@ msgstr "" msgid "Balance $%d" msgstr "" -#: pysollib/games/klondike.py:419 +#: pysollib/games/klondike.py:439 msgid "Reserve. Only Kings are acceptable." msgstr "" -#: pysollib/games/larasgame.py:163 pysollib/stack.py:1525 +#: pysollib/games/larasgame.py:163 pysollib/stack.py:1542 msgid "Round %d" msgstr "" @@ -840,7 +855,7 @@ msgstr "" #: pysollib/games/special/tarock.py:223 #: pysollib/games/ultra/dashavatara.py:351 #: pysollib/games/ultra/hexadeck.py:273 pysollib/games/ultra/mughal.py:254 -#: pysollib/stack.py:1305 pysollib/util.py:80 +#: pysollib/stack.py:1327 pysollib/util.py:79 msgid "Ace" msgstr "" @@ -860,7 +875,7 @@ msgstr "" msgid "\tThis game: " msgstr "" -#: pysollib/games/tournament.py:245 +#: pysollib/games/tournament.py:226 msgid "Reserve. Build down by suit." msgstr "" @@ -1111,15 +1126,21 @@ msgid "Tan" msgstr "" #: pysollib/games/yukon.py:139 -msgid "Tableau. Build down in any suit but the same, can move any face-up cards regardless of sequence." +msgid "" +"Tableau. Build down in any suit but the same, can move any face-up cards " +"regardless of sequence." msgstr "" #: pysollib/games/yukon.py:198 -msgid "Tableau. Build up or down by suit, can move any face-up cards regardless of sequence." +msgid "" +"Tableau. Build up or down by suit, can move any face-up cards regardless of " +"sequence." msgstr "" #: pysollib/games/yukon.py:215 -msgid "Tableau. Build up or down by alternate color, can move any face-up cards regardless of sequence." +msgid "" +"Tableau. Build up or down by alternate color, can move any face-up cards " +"regardless of sequence." msgstr "" #: pysollib/games/yukon.py:317 @@ -1131,42 +1152,42 @@ msgid "" msgstr "" #: pysollib/games/yukon.py:639 -msgid "Tableau. Build down regardless of suit, can move any face-up cards regardless of sequence." +msgid "" +"Tableau. Build down regardless of suit, can move any face-up cards " +"regardless of sequence." msgstr "" -#: pysollib/help.py:64 -msgid "" -"A Python Solitaire Game Collection\n" +#: pysollib/help.py:63 +msgid "A Python Solitaire Game Collection\n" +msgstr "" + +#: pysollib/help.py:65 +msgid "A World Domination Project\n" msgstr "" #: pysollib/help.py:66 -msgid "" -"A World Domination Project\n" -msgstr "" - -#: pysollib/help.py:67 msgid "&Credits..." msgstr "" -#: pysollib/help.py:67 +#: pysollib/help.py:66 msgid "&Nice" msgstr "" -#: pysollib/help.py:69 +#: pysollib/help.py:68 msgid "&Enjoy" msgstr "" -#: pysollib/help.py:71 +#: pysollib/help.py:70 msgid "" "Version %s\n" "\n" msgstr "" -#: pysollib/help.py:72 +#: pysollib/help.py:71 msgid "About " msgstr "" -#: pysollib/help.py:73 +#: pysollib/help.py:72 msgid "" "PySol Fan Club edition\n" "%s%s\n" @@ -1183,11 +1204,11 @@ msgid "" "%s" msgstr "" -#: pysollib/help.py:102 +#: pysollib/help.py:101 msgid "Credits" msgstr "" -#: pysollib/help.py:103 +#: pysollib/help.py:102 msgid "" " credits go to:\n" "\n" @@ -1202,24 +1223,23 @@ msgid "" "for making this program possible" msgstr "" -#: pysollib/help.py:138 +#: pysollib/help.py:137 msgid " HTML Problem" msgstr "" -#: pysollib/help.py:139 -msgid "" -"Cannot find help document\n" +#: pysollib/help.py:138 +msgid "Cannot find help document\n" msgstr "" -#: pysollib/help.py:152 +#: pysollib/help.py:151 msgid " Help" msgstr "" -#: pysollib/main.py:68 pysollib/main.py:348 +#: pysollib/main.py:66 pysollib/main.py:348 msgid " installation error" msgstr "" -#: pysollib/main.py:69 +#: pysollib/main.py:67 msgid "" "No %ss were found !!!\n" "\n" @@ -1229,17 +1249,17 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:76 pysollib/main.py:356 pysollib/tk/menubar.py:276 +#: pysollib/main.py:74 pysollib/main.py:356 pysollib/tk/menubar.py:275 msgid "&Quit" msgstr "" -#: pysollib/main.py:98 +#: pysollib/main.py:96 msgid "" "%s: %s\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:135 +#: pysollib/main.py:133 msgid "" "Usage: %s [OPTIONS] [FILE]\n" " -g --game=GAMENAME start game GAMENAME\n" @@ -1253,13 +1273,13 @@ msgid "" " FILE - file name of a saved game\n" msgstr "" -#: pysollib/main.py:149 +#: pysollib/main.py:147 msgid "" "%s: too many files\n" "try %s --help for more information" msgstr "" -#: pysollib/main.py:153 +#: pysollib/main.py:151 msgid "" "%s: invalid file name\n" "try %s --help for more information" @@ -1298,469 +1318,486 @@ msgstr "" msgid "Welcome to " msgstr "" -#: pysollib/resource.py:243 +#: pysollib/resource.py:242 msgid "French type (52 cards)" msgstr "" -#: pysollib/resource.py:244 +#: pysollib/resource.py:243 msgid "Hanafuda type (48 cards)" msgstr "" -#: pysollib/resource.py:245 +#: pysollib/resource.py:244 msgid "Tarock type (78 cards)" msgstr "" -#: pysollib/resource.py:246 +#: pysollib/resource.py:245 msgid "Mahjongg type (42 tiles)" msgstr "" -#: pysollib/resource.py:247 +#: pysollib/resource.py:246 msgid "Hex A Deck type (68 cards)" msgstr "" -#: pysollib/resource.py:248 +#: pysollib/resource.py:247 msgid "Mughal Ganjifa type (96 cards)" msgstr "" -#: pysollib/resource.py:249 +#: pysollib/resource.py:248 msgid "Navagraha Ganjifa type (108 cards)" msgstr "" -#: pysollib/resource.py:250 +#: pysollib/resource.py:249 msgid "Dashavatara Ganjifa type (120 cards)" msgstr "" -#: pysollib/resource.py:251 +#: pysollib/resource.py:250 msgid "Trumps only type (variable cards)" msgstr "" -#: pysollib/resource.py:255 +#: pysollib/resource.py:254 msgid "French" msgstr "" -#: pysollib/resource.py:256 pysollib/resource.py:280 +#: pysollib/resource.py:255 pysollib/resource.py:279 msgid "Hanafuda" msgstr "" -#: pysollib/resource.py:257 pysollib/resource.py:296 +#: pysollib/resource.py:256 pysollib/resource.py:295 msgid "Tarock" msgstr "" -#: pysollib/resource.py:258 pysollib/resource.py:283 +#: pysollib/resource.py:257 pysollib/resource.py:282 msgid "Mahjongg" msgstr "" -#: pysollib/resource.py:259 pysollib/resource.py:281 +#: pysollib/resource.py:258 pysollib/resource.py:280 msgid "Hex A Deck" msgstr "" -#: pysollib/resource.py:260 +#: pysollib/resource.py:259 msgid "Mughal Ganjifa" msgstr "" -#: pysollib/resource.py:261 +#: pysollib/resource.py:260 msgid "Navagraha Ganjifa" msgstr "" -#: pysollib/resource.py:262 +#: pysollib/resource.py:261 msgid "Dashavatara Ganjifa" msgstr "" -#: pysollib/resource.py:263 +#: pysollib/resource.py:262 msgid "Trumps only" msgstr "" -#: pysollib/resource.py:268 +#: pysollib/resource.py:267 msgid "Adult" msgstr "" -#: pysollib/resource.py:269 +#: pysollib/resource.py:268 msgid "Animals" msgstr "" -#: pysollib/resource.py:270 +#: pysollib/resource.py:269 msgid "Anime" msgstr "" -#: pysollib/resource.py:271 +#: pysollib/resource.py:270 msgid "Art" msgstr "" -#: pysollib/resource.py:272 +#: pysollib/resource.py:271 msgid "Cartoons" msgstr "" -#: pysollib/resource.py:273 +#: pysollib/resource.py:272 msgid "Children" msgstr "" -#: pysollib/resource.py:274 +#: pysollib/resource.py:273 msgid "Classic look" msgstr "" -#: pysollib/resource.py:275 +#: pysollib/resource.py:274 msgid "Collectors" msgstr "" -#: pysollib/resource.py:276 +#: pysollib/resource.py:275 msgid "Computers" msgstr "" -#: pysollib/resource.py:277 +#: pysollib/resource.py:276 msgid "Engines" msgstr "" -#: pysollib/resource.py:278 +#: pysollib/resource.py:277 msgid "Fantasy" msgstr "" -#: pysollib/resource.py:279 +#: pysollib/resource.py:278 msgid "Ganjifa" msgstr "" -#: pysollib/resource.py:282 +#: pysollib/resource.py:281 msgid "Holiday" msgstr "" -#: pysollib/resource.py:284 +#: pysollib/resource.py:283 msgid "Movies" msgstr "" -#: pysollib/resource.py:285 +#: pysollib/resource.py:284 msgid "Matrix" msgstr "" -#: pysollib/resource.py:286 +#: pysollib/resource.py:285 msgid "Music" msgstr "" -#: pysollib/resource.py:287 +#: pysollib/resource.py:286 msgid "Nature" msgstr "" -#: pysollib/resource.py:288 +#: pysollib/resource.py:287 msgid "Operating Systems" msgstr "" -#: pysollib/resource.py:289 +#: pysollib/resource.py:288 msgid "People" msgstr "" -#: pysollib/resource.py:290 +#: pysollib/resource.py:289 msgid "Places" msgstr "" -#: pysollib/resource.py:291 +#: pysollib/resource.py:290 msgid "Plain" msgstr "" -#: pysollib/resource.py:292 +#: pysollib/resource.py:291 msgid "Products" msgstr "" -#: pysollib/resource.py:293 +#: pysollib/resource.py:292 msgid "Round cardsets" msgstr "" -#: pysollib/resource.py:294 +#: pysollib/resource.py:293 msgid "Science Fiction" msgstr "" -#: pysollib/resource.py:295 +#: pysollib/resource.py:294 msgid "Sports" msgstr "" -#: pysollib/resource.py:297 +#: pysollib/resource.py:296 msgid "Vehicels" msgstr "" -#: pysollib/resource.py:298 +#: pysollib/resource.py:297 msgid "Video Games" msgstr "" -#: pysollib/resource.py:303 +#: pysollib/resource.py:302 msgid "Australia" msgstr "" -#: pysollib/resource.py:304 +#: pysollib/resource.py:303 msgid "Austria" msgstr "" -#: pysollib/resource.py:305 +#: pysollib/resource.py:304 msgid "Belgium" msgstr "" -#: pysollib/resource.py:306 +#: pysollib/resource.py:305 msgid "Canada" msgstr "" -#: pysollib/resource.py:307 +#: pysollib/resource.py:306 msgid "China" msgstr "" -#: pysollib/resource.py:308 +#: pysollib/resource.py:307 msgid "Czech Republic" msgstr "" -#: pysollib/resource.py:309 +#: pysollib/resource.py:308 msgid "Denmark" msgstr "" -#: pysollib/resource.py:310 +#: pysollib/resource.py:309 msgid "England" msgstr "" -#: pysollib/resource.py:311 +#: pysollib/resource.py:310 msgid "France" msgstr "" -#: pysollib/resource.py:312 +#: pysollib/resource.py:311 msgid "Germany" msgstr "" -#: pysollib/resource.py:313 +#: pysollib/resource.py:312 msgid "Great Britain" msgstr "" -#: pysollib/resource.py:314 +#: pysollib/resource.py:313 msgid "Hungary" msgstr "" -#: pysollib/resource.py:315 +#: pysollib/resource.py:314 msgid "India" msgstr "" -#: pysollib/resource.py:316 +#: pysollib/resource.py:315 msgid "Italy" msgstr "" -#: pysollib/resource.py:317 +#: pysollib/resource.py:316 msgid "Japan" msgstr "" -#: pysollib/resource.py:318 +#: pysollib/resource.py:317 msgid "Netherlands" msgstr "" -#: pysollib/resource.py:319 +#: pysollib/resource.py:318 msgid "Russia" msgstr "" -#: pysollib/resource.py:320 +#: pysollib/resource.py:319 msgid "Spain" msgstr "" -#: pysollib/resource.py:321 +#: pysollib/resource.py:320 msgid "Sweden" msgstr "" -#: pysollib/resource.py:322 +#: pysollib/resource.py:321 msgid "Switzerland" msgstr "" -#: pysollib/resource.py:323 +#: pysollib/resource.py:322 msgid "USA" msgstr "" -#: pysollib/settings.py:47 +#: pysollib/settings.py:54 msgid "Top 10" msgstr "" -#: pysollib/stack.py:1299 +#: pysollib/stack.py:1321 msgid "Base card - %s." msgstr "" -#: pysollib/stack.py:1300 +#: pysollib/stack.py:1322 msgid "Empty row cannot be filled." msgstr "" -#: pysollib/stack.py:1301 +#: pysollib/stack.py:1323 msgid "any card" msgstr "" -#: pysollib/stack.py:1302 pysollib/util.py:81 +#: pysollib/stack.py:1324 pysollib/util.py:80 msgid "Jack" msgstr "" -#: pysollib/stack.py:1315 +#: pysollib/stack.py:1337 msgid "No cards" msgstr "" -#: pysollib/stack.py:1316 +#: pysollib/stack.py:1338 msgid "1 card" msgstr "" -#: pysollib/stack.py:1317 +#: pysollib/stack.py:1339 msgid " cards" msgstr "" -#: pysollib/stack.py:1534 pysollib/stack.py:1536 pysollib/stack.py:1567 +#: pysollib/stack.py:1551 pysollib/stack.py:1553 pysollib/stack.py:1589 msgid "Redeal" msgstr "" -#: pysollib/stack.py:1536 +#: pysollib/stack.py:1553 msgid "Stop" msgstr "" -#: pysollib/stack.py:1587 +#: pysollib/stack.py:1613 msgid "Variable redeals." msgstr "" -#: pysollib/stack.py:1588 +#: pysollib/stack.py:1614 msgid "Unlimited redeals." msgstr "" -#: pysollib/stack.py:1589 +#: pysollib/stack.py:1615 msgid "No redeals." msgstr "" -#: pysollib/stack.py:1590 +#: pysollib/stack.py:1616 msgid "One redeal." msgstr "" -#: pysollib/stack.py:1591 +#: pysollib/stack.py:1617 msgid " redeals." msgstr "" -#: pysollib/stack.py:1593 +#: pysollib/stack.py:1619 msgid "Talon." msgstr "" -#: pysollib/stack.py:1779 pysollib/stack.py:2229 +#: pysollib/stack.py:1844 pysollib/stack.py:2294 msgid "Reserve. No building." msgstr "" -#: pysollib/stack.py:1816 +#: pysollib/stack.py:1881 msgid "Foundation." msgstr "" -#: pysollib/stack.py:1832 +#: pysollib/stack.py:1897 msgid "Foundation. Build up by suit." msgstr "" -#: pysollib/stack.py:1833 +#: pysollib/stack.py:1898 msgid "Foundation. Build down by suit." msgstr "" -#: pysollib/stack.py:1834 pysollib/stack.py:1850 pysollib/stack.py:1872 +#: pysollib/stack.py:1899 pysollib/stack.py:1915 pysollib/stack.py:1937 msgid "Foundation. Build by same rank." msgstr "" -#: pysollib/stack.py:1849 +#: pysollib/stack.py:1914 msgid "Foundation. Build down regardless of suit." msgstr "" -#: pysollib/stack.py:1870 +#: pysollib/stack.py:1935 msgid "Foundation. Build up by alternate color." msgstr "" -#: pysollib/stack.py:1871 +#: pysollib/stack.py:1936 msgid "Foundation. Build down by alternate color." msgstr "" -#: pysollib/stack.py:1945 +#: pysollib/stack.py:2010 msgid "Tableau. Build up by alternate color." msgstr "" -#: pysollib/stack.py:1946 +#: pysollib/stack.py:2011 msgid "Tableau. Build down by alternate color." msgstr "" -#: pysollib/stack.py:1947 pysollib/stack.py:1957 pysollib/stack.py:1966 -#: pysollib/stack.py:1975 pysollib/stack.py:1985 pysollib/stack.py:2008 -#: pysollib/stack.py:2018 +#: pysollib/stack.py:2012 pysollib/stack.py:2022 pysollib/stack.py:2031 +#: pysollib/stack.py:2040 pysollib/stack.py:2050 pysollib/stack.py:2073 +#: pysollib/stack.py:2083 msgid "Tableau. Build by same rank." msgstr "" -#: pysollib/stack.py:1955 +#: pysollib/stack.py:2020 msgid "Tableau. Build up by color." msgstr "" -#: pysollib/stack.py:1956 +#: pysollib/stack.py:2021 msgid "Tableau. Build down by color." msgstr "" -#: pysollib/stack.py:1964 +#: pysollib/stack.py:2029 msgid "Tableau. Build up by suit." msgstr "" -#: pysollib/stack.py:1965 +#: pysollib/stack.py:2030 msgid "Tableau. Build down by suit." msgstr "" -#: pysollib/stack.py:1973 +#: pysollib/stack.py:2038 msgid "Tableau. Build up regardless of suit." msgstr "" -#: pysollib/stack.py:1974 +#: pysollib/stack.py:2039 msgid "Tableau. Build down regardless of suit." msgstr "" -#: pysollib/stack.py:1983 +#: pysollib/stack.py:2048 msgid "Tableau. Build up in any suit but the same." msgstr "" -#: pysollib/stack.py:1984 +#: pysollib/stack.py:2049 msgid "Tableau. Build down in any suit but the same." msgstr "" -#: pysollib/stack.py:2006 -msgid "Tableau. Build up regardless of suit. Sequences of cards in alternate color can be moved as a unit." +#: pysollib/stack.py:2071 +msgid "" +"Tableau. Build up regardless of suit. Sequences of cards in alternate color " +"can be moved as a unit." msgstr "" -#: pysollib/stack.py:2007 -msgid "Tableau. Build down regardless of suit. Sequences of cards in alternate color can be moved as a unit." +#: pysollib/stack.py:2072 +msgid "" +"Tableau. Build down regardless of suit. Sequences of cards in alternate " +"color can be moved as a unit." msgstr "" -#: pysollib/stack.py:2016 -msgid "Tableau. Build up regardless of suit. Sequences of cards in the same suit can be moved as a unit." +#: pysollib/stack.py:2081 +msgid "" +"Tableau. Build up regardless of suit. Sequences of cards in the same suit " +"can be moved as a unit." msgstr "" -#: pysollib/stack.py:2017 -msgid "Tableau. Build down regardless of suit. Sequences of cards in the same suit can be moved as a unit." +#: pysollib/stack.py:2082 +msgid "" +"Tableau. Build down regardless of suit. Sequences of cards in the same suit " +"can be moved as a unit." msgstr "" -#: pysollib/stack.py:2039 -msgid "Tableau. Build up by alternate color, can move any face-up cards regardless of sequence." +#: pysollib/stack.py:2104 +msgid "" +"Tableau. Build up by alternate color, can move any face-up cards regardless " +"of sequence." msgstr "" -#: pysollib/stack.py:2040 -msgid "Tableau. Build down by alternate color, can move any face-up cards regardless of sequence." +#: pysollib/stack.py:2105 +msgid "" +"Tableau. Build down by alternate color, can move any face-up cards " +"regardless of sequence." msgstr "" -#: pysollib/stack.py:2041 pysollib/stack.py:2054 -msgid "Tableau. Build by same rank, can move any face-up cards regardless of sequence." +#: pysollib/stack.py:2106 pysollib/stack.py:2119 +msgid "" +"Tableau. Build by same rank, can move any face-up cards regardless of " +"sequence." msgstr "" -#: pysollib/stack.py:2052 -msgid "Tableau. Build up by suit, can move any face-up cards regardless of sequence." +#: pysollib/stack.py:2117 +msgid "" +"Tableau. Build up by suit, can move any face-up cards regardless of sequence." msgstr "" -#: pysollib/stack.py:2053 -msgid "Tableau. Build down by suit, can move any face-up cards regardless of sequence." +#: pysollib/stack.py:2118 +msgid "" +"Tableau. Build down by suit, can move any face-up cards regardless of " +"sequence." msgstr "" -#: pysollib/stack.py:2086 +#: pysollib/stack.py:2151 msgid "Tableau. Build up or down by color." msgstr "" -#: pysollib/stack.py:2097 +#: pysollib/stack.py:2162 msgid "Tableau. Build up or down by alternate color." msgstr "" -#: pysollib/stack.py:2108 +#: pysollib/stack.py:2173 msgid "Tableau. Build up or down by suit." msgstr "" -#: pysollib/stack.py:2119 +#: pysollib/stack.py:2184 msgid "Tableau. Build up or down regardless of suit." msgstr "" -#: pysollib/stack.py:2130 +#: pysollib/stack.py:2195 msgid "Waste." msgstr "" -#: pysollib/stack.py:2230 +#: pysollib/stack.py:2295 msgid "Free cell." msgstr "" @@ -1780,7 +1817,7 @@ msgstr "" msgid "Lost" msgstr "" -#: pysollib/stats.py:122 pysollib/tk/statusbar.py:157 +#: pysollib/stats.py:122 pysollib/tk/statusbar.py:156 msgid "Playing time" msgstr "" @@ -1804,7 +1841,7 @@ msgstr "" msgid "Status" msgstr "" -#: pysollib/stats.py:162 pysollib/tk/statusbar.py:159 +#: pysollib/stats.py:162 pysollib/tk/statusbar.py:158 #: pysollib/tk/tkstats.py:735 msgid "Game number" msgstr "" @@ -1833,48 +1870,48 @@ msgstr "" msgid "Perfect" msgstr "" -#: pysollib/tk/colorsdialog.py:73 +#: pysollib/tk/colorsdialog.py:71 msgid "Text foreground:" msgstr "" -#: pysollib/tk/colorsdialog.py:79 pysollib/tk/colorsdialog.py:98 +#: pysollib/tk/colorsdialog.py:76 pysollib/tk/colorsdialog.py:94 #: pysollib/tk/fontsdialog.py:186 msgid "Change..." msgstr "" -#: pysollib/tk/colorsdialog.py:85 pysollib/tk/timeoutsdialog.py:68 +#: pysollib/tk/colorsdialog.py:81 pysollib/tk/timeoutsdialog.py:68 msgid "Highlight piles:" msgstr "" -#: pysollib/tk/colorsdialog.py:86 +#: pysollib/tk/colorsdialog.py:82 msgid "Highlight cards 1:" msgstr "" -#: pysollib/tk/colorsdialog.py:87 +#: pysollib/tk/colorsdialog.py:83 msgid "Highlight cards 2:" msgstr "" -#: pysollib/tk/colorsdialog.py:88 +#: pysollib/tk/colorsdialog.py:84 msgid "Highlight same rank 1:" msgstr "" -#: pysollib/tk/colorsdialog.py:89 +#: pysollib/tk/colorsdialog.py:85 msgid "Highlight same rank 2:" msgstr "" -#: pysollib/tk/colorsdialog.py:90 +#: pysollib/tk/colorsdialog.py:86 msgid "Hint arrow:" msgstr "" -#: pysollib/tk/colorsdialog.py:91 +#: pysollib/tk/colorsdialog.py:87 msgid "Highlight not matching:" msgstr "" -#: pysollib/tk/colorsdialog.py:124 +#: pysollib/tk/colorsdialog.py:114 msgid "Select color" msgstr "" -#: pysollib/tk/findcarddialog.py:52 pysollib/tk/menubar.py:329 +#: pysollib/tk/findcarddialog.py:52 pysollib/tk/menubar.py:328 msgid "Find card" msgstr "" @@ -1922,491 +1959,487 @@ msgstr "" msgid "Select font" msgstr "" -#: pysollib/tk/menubar.py:75 +#: pysollib/tk/menubar.py:74 msgid "Style" msgstr "" -#: pysollib/tk/menubar.py:84 +#: pysollib/tk/menubar.py:83 msgid "Relief" msgstr "" -#: pysollib/tk/menubar.py:85 +#: pysollib/tk/menubar.py:84 msgid "Flat" msgstr "" -#: pysollib/tk/menubar.py:89 +#: pysollib/tk/menubar.py:88 msgid "Raised" msgstr "" -#: pysollib/tk/menubar.py:94 +#: pysollib/tk/menubar.py:93 msgid "Compound" msgstr "" -#: pysollib/tk/menubar.py:100 +#: pysollib/tk/menubar.py:99 msgid "Hide" msgstr "" -#: pysollib/tk/menubar.py:103 +#: pysollib/tk/menubar.py:102 msgid "Top" msgstr "" -#: pysollib/tk/menubar.py:106 +#: pysollib/tk/menubar.py:105 msgid "Bottom" msgstr "" -#: pysollib/tk/menubar.py:109 +#: pysollib/tk/menubar.py:108 msgid "Left" msgstr "" -#: pysollib/tk/menubar.py:112 +#: pysollib/tk/menubar.py:111 msgid "Right" msgstr "" -#: pysollib/tk/menubar.py:116 +#: pysollib/tk/menubar.py:115 msgid "Small icons" msgstr "" -#: pysollib/tk/menubar.py:119 +#: pysollib/tk/menubar.py:118 msgid "Large icons" msgstr "" -#: pysollib/tk/menubar.py:125 +#: pysollib/tk/menubar.py:124 msgid "Customize toolbar" msgstr "" -#: pysollib/tk/menubar.py:256 +#: pysollib/tk/menubar.py:255 msgid "&File" msgstr "" -#: pysollib/tk/menubar.py:258 +#: pysollib/tk/menubar.py:257 msgid "R&ecent games" msgstr "" -#: pysollib/tk/menubar.py:260 +#: pysollib/tk/menubar.py:259 msgid "Select &random game" msgstr "" -#: pysollib/tk/menubar.py:261 +#: pysollib/tk/menubar.py:260 msgid "&All games" msgstr "" -#: pysollib/tk/menubar.py:262 +#: pysollib/tk/menubar.py:261 msgid "Games played and &won" msgstr "" -#: pysollib/tk/menubar.py:263 +#: pysollib/tk/menubar.py:262 msgid "Games played and ¬ won" msgstr "" -#: pysollib/tk/menubar.py:264 +#: pysollib/tk/menubar.py:263 msgid "Games not &played" msgstr "" -#: pysollib/tk/menubar.py:265 +#: pysollib/tk/menubar.py:264 msgid "Select game by nu&mber..." msgstr "" -#: pysollib/tk/menubar.py:267 +#: pysollib/tk/menubar.py:266 msgid "Fa&vorite games" msgstr "" -#: pysollib/tk/menubar.py:268 +#: pysollib/tk/menubar.py:267 msgid "A&dd to favorites" msgstr "" -#: pysollib/tk/menubar.py:269 +#: pysollib/tk/menubar.py:268 msgid "R&emove from favorites" msgstr "" -#: pysollib/tk/menubar.py:271 +#: pysollib/tk/menubar.py:270 msgid "&Open..." msgstr "" -#: pysollib/tk/menubar.py:272 +#: pysollib/tk/menubar.py:271 msgid "&Save" msgstr "" -#: pysollib/tk/menubar.py:273 +#: pysollib/tk/menubar.py:272 msgid "Save &as..." msgstr "" -#: pysollib/tk/menubar.py:275 +#: pysollib/tk/menubar.py:274 msgid "&Hold and quit" msgstr "" -#: pysollib/tk/menubar.py:280 pysollib/tk/selectgame.py:407 +#: pysollib/tk/menubar.py:279 pysollib/tk/selectgame.py:407 msgid "&Select" msgstr "" -#: pysollib/tk/menubar.py:285 +#: pysollib/tk/menubar.py:284 msgid "&Edit" msgstr "" -#: pysollib/tk/menubar.py:286 +#: pysollib/tk/menubar.py:285 msgid "&Undo" msgstr "" -#: pysollib/tk/menubar.py:287 +#: pysollib/tk/menubar.py:286 msgid "&Redo" msgstr "" -#: pysollib/tk/menubar.py:288 +#: pysollib/tk/menubar.py:287 msgid "Redo &all" msgstr "" -#: pysollib/tk/menubar.py:291 +#: pysollib/tk/menubar.py:290 msgid "&Set bookmark" msgstr "" -#: pysollib/tk/menubar.py:293 pysollib/tk/menubar.py:297 +#: pysollib/tk/menubar.py:292 pysollib/tk/menubar.py:296 msgid "Bookmark %d" msgstr "" -#: pysollib/tk/menubar.py:295 +#: pysollib/tk/menubar.py:294 msgid "Go&to bookmark" msgstr "" -#: pysollib/tk/menubar.py:300 +#: pysollib/tk/menubar.py:299 msgid "&Clear bookmarks" msgstr "" -#: pysollib/tk/menubar.py:303 -msgid "Restart &game" +#: pysollib/tk/menubar.py:302 pysollib/tk/toolbar.py:198 +msgid "Restart" msgstr "" -#: pysollib/tk/menubar.py:305 +#: pysollib/tk/menubar.py:304 msgid "&Game" msgstr "" -#: pysollib/tk/menubar.py:306 +#: pysollib/tk/menubar.py:305 msgid "&Deal cards" msgstr "" -#: pysollib/tk/menubar.py:307 +#: pysollib/tk/menubar.py:306 msgid "&Auto drop" msgstr "" -#: pysollib/tk/menubar.py:308 +#: pysollib/tk/menubar.py:307 msgid "&Pause" msgstr "" -#: pysollib/tk/menubar.py:311 +#: pysollib/tk/menubar.py:310 msgid "S&tatus..." msgstr "" -#: pysollib/tk/menubar.py:312 +#: pysollib/tk/menubar.py:311 msgid "&Comments..." msgstr "" -#: pysollib/tk/menubar.py:314 +#: pysollib/tk/menubar.py:313 msgid "&Statistics" msgstr "" -#: pysollib/tk/menubar.py:315 pysollib/tk/menubar.py:323 +#: pysollib/tk/menubar.py:314 pysollib/tk/menubar.py:322 msgid "Current game..." msgstr "" -#: pysollib/tk/menubar.py:316 pysollib/tk/menubar.py:324 +#: pysollib/tk/menubar.py:315 pysollib/tk/menubar.py:323 msgid "All games..." msgstr "" -#: pysollib/tk/menubar.py:318 +#: pysollib/tk/menubar.py:317 msgid "Session log..." msgstr "" -#: pysollib/tk/menubar.py:319 +#: pysollib/tk/menubar.py:318 msgid "Full log..." msgstr "" -#: pysollib/tk/menubar.py:322 +#: pysollib/tk/menubar.py:321 msgid "D&emo statistics" msgstr "" -#: pysollib/tk/menubar.py:326 +#: pysollib/tk/menubar.py:325 msgid "&Assist" msgstr "" -#: pysollib/tk/menubar.py:327 +#: pysollib/tk/menubar.py:326 msgid "&Hint" msgstr "" -#: pysollib/tk/menubar.py:328 +#: pysollib/tk/menubar.py:327 msgid "Highlight p&iles" msgstr "" -#: pysollib/tk/menubar.py:331 +#: pysollib/tk/menubar.py:330 msgid "&Demo" msgstr "" -#: pysollib/tk/menubar.py:332 +#: pysollib/tk/menubar.py:331 msgid "Demo (&all games)" msgstr "" -#: pysollib/tk/menubar.py:334 +#: pysollib/tk/menubar.py:333 msgid "Piles description" msgstr "" -#: pysollib/tk/menubar.py:338 +#: pysollib/tk/menubar.py:337 msgid "&Options" msgstr "" -#: pysollib/tk/menubar.py:339 +#: pysollib/tk/menubar.py:338 msgid "&Player options..." msgstr "" -#: pysollib/tk/menubar.py:340 +#: pysollib/tk/menubar.py:339 msgid "&Automatic play" msgstr "" -#: pysollib/tk/menubar.py:341 +#: pysollib/tk/menubar.py:340 msgid "Auto &face up" msgstr "" -#: pysollib/tk/menubar.py:342 +#: pysollib/tk/menubar.py:341 msgid "A&uto drop" msgstr "" -#: pysollib/tk/menubar.py:343 +#: pysollib/tk/menubar.py:342 msgid "Auto &deal" msgstr "" -#: pysollib/tk/menubar.py:345 +#: pysollib/tk/menubar.py:344 msgid "&Quick play" msgstr "" -#: pysollib/tk/menubar.py:346 +#: pysollib/tk/menubar.py:345 msgid "Assist &level" msgstr "" -#: pysollib/tk/menubar.py:347 +#: pysollib/tk/menubar.py:346 msgid "Enable &undo" msgstr "" -#: pysollib/tk/menubar.py:348 +#: pysollib/tk/menubar.py:347 msgid "Enable &bookmarks" msgstr "" -#: pysollib/tk/menubar.py:349 +#: pysollib/tk/menubar.py:348 msgid "Enable &hint" msgstr "" -#: pysollib/tk/menubar.py:350 +#: pysollib/tk/menubar.py:349 msgid "Enable highlight p&iles" msgstr "" -#: pysollib/tk/menubar.py:351 +#: pysollib/tk/menubar.py:350 msgid "Enable highlight &cards" msgstr "" -#: pysollib/tk/menubar.py:352 +#: pysollib/tk/menubar.py:351 msgid "Enable highlight same &rank" msgstr "" -#: pysollib/tk/menubar.py:353 +#: pysollib/tk/menubar.py:352 msgid "Highlight &no matching" msgstr "" -#: pysollib/tk/menubar.py:355 +#: pysollib/tk/menubar.py:354 msgid "&Show removed tiles (in Mahjongg games)" msgstr "" -#: pysollib/tk/menubar.py:356 +#: pysollib/tk/menubar.py:355 msgid "Show hint &arrow (in Shisen-Sho games)" msgstr "" -#: pysollib/tk/menubar.py:358 +#: pysollib/tk/menubar.py:357 msgid "&Sound..." msgstr "" -#: pysollib/tk/menubar.py:366 +#: pysollib/tk/menubar.py:365 msgid "Cards&et..." msgstr "" -#: pysollib/tk/menubar.py:367 +#: pysollib/tk/menubar.py:366 msgid "Table t&ile..." msgstr "" -#: pysollib/tk/menubar.py:369 +#: pysollib/tk/menubar.py:368 msgid "Card &background" msgstr "" -#: pysollib/tk/menubar.py:370 +#: pysollib/tk/menubar.py:369 msgid "Card &view" msgstr "" -#: pysollib/tk/menubar.py:371 +#: pysollib/tk/menubar.py:370 msgid "Card shado&w" msgstr "" -#: pysollib/tk/menubar.py:372 +#: pysollib/tk/menubar.py:371 msgid "Shade &legal moves" msgstr "" -#: pysollib/tk/menubar.py:373 +#: pysollib/tk/menubar.py:372 msgid "&Negative cards bottom" msgstr "" -#: pysollib/tk/menubar.py:374 +#: pysollib/tk/menubar.py:373 msgid "Shrink face-down cards" msgstr "" -#: pysollib/tk/menubar.py:375 +#: pysollib/tk/menubar.py:374 msgid "Shade &filled stacks" msgstr "" -#: pysollib/tk/menubar.py:376 +#: pysollib/tk/menubar.py:375 msgid "A&nimations" msgstr "" -#: pysollib/tk/menubar.py:377 +#: pysollib/tk/menubar.py:376 msgid "&None" msgstr "" -#: pysollib/tk/menubar.py:378 +#: pysollib/tk/menubar.py:377 msgid "&Timer based" msgstr "" -#: pysollib/tk/menubar.py:379 +#: pysollib/tk/menubar.py:378 msgid "&Fast" msgstr "" -#: pysollib/tk/menubar.py:380 +#: pysollib/tk/menubar.py:379 msgid "&Slow" msgstr "" -#: pysollib/tk/menubar.py:381 +#: pysollib/tk/menubar.py:380 msgid "&Very slow" msgstr "" -#: pysollib/tk/menubar.py:382 +#: pysollib/tk/menubar.py:381 msgid "Stick&y mouse" msgstr "" -#: pysollib/tk/menubar.py:383 +#: pysollib/tk/menubar.py:382 msgid "Use mouse for undo/redo" msgstr "" -#: pysollib/tk/menubar.py:385 +#: pysollib/tk/menubar.py:384 msgid "&Fonts..." msgstr "" -#: pysollib/tk/menubar.py:386 +#: pysollib/tk/menubar.py:385 msgid "&Colors..." msgstr "" -#: pysollib/tk/menubar.py:387 +#: pysollib/tk/menubar.py:386 msgid "Time&outs..." msgstr "" -#: pysollib/tk/menubar.py:389 +#: pysollib/tk/menubar.py:388 msgid "&Toolbar" msgstr "" -#: pysollib/tk/menubar.py:391 +#: pysollib/tk/menubar.py:390 msgid "Stat&usbar" msgstr "" -#: pysollib/tk/menubar.py:392 +#: pysollib/tk/menubar.py:391 msgid "Show &statusbar" msgstr "" -#: pysollib/tk/menubar.py:393 +#: pysollib/tk/menubar.py:392 msgid "Show &number of cards" msgstr "" -#: pysollib/tk/menubar.py:394 +#: pysollib/tk/menubar.py:393 msgid "Show &help bar" msgstr "" -#: pysollib/tk/menubar.py:395 +#: pysollib/tk/menubar.py:394 msgid "Save games &geometry" msgstr "" -#: pysollib/tk/menubar.py:396 +#: pysollib/tk/menubar.py:395 msgid "&Demo logo" msgstr "" -#: pysollib/tk/menubar.py:397 +#: pysollib/tk/menubar.py:396 msgid "Startup splash sc&reen" msgstr "" -#: pysollib/tk/menubar.py:403 +#: pysollib/tk/menubar.py:402 msgid "&Help" msgstr "" -#: pysollib/tk/menubar.py:404 +#: pysollib/tk/menubar.py:403 msgid "&Contents" msgstr "" -#: pysollib/tk/menubar.py:405 +#: pysollib/tk/menubar.py:404 msgid "&How to play" msgstr "" -#: pysollib/tk/menubar.py:406 +#: pysollib/tk/menubar.py:405 msgid "&Rules for this game" msgstr "" -#: pysollib/tk/menubar.py:407 +#: pysollib/tk/menubar.py:406 msgid "&License terms" msgstr "" -#: pysollib/tk/menubar.py:410 +#: pysollib/tk/menubar.py:409 msgid "&About " msgstr "" -#: pysollib/tk/menubar.py:522 +#: pysollib/tk/menubar.py:521 msgid "All &games..." msgstr "" -#: pysollib/tk/menubar.py:524 +#: pysollib/tk/menubar.py:523 msgid "Playable pre&view..." msgstr "" -#: pysollib/tk/menubar.py:573 +#: pysollib/tk/menubar.py:572 msgid "&Mahjongg games" msgstr "" -#: pysollib/tk/menubar.py:611 +#: pysollib/tk/menubar.py:610 msgid "&Popular games" msgstr "" -#: pysollib/tk/menubar.py:619 +#: pysollib/tk/menubar.py:618 msgid "&French games" msgstr "" -#: pysollib/tk/menubar.py:626 +#: pysollib/tk/menubar.py:625 msgid "&Oriental games" msgstr "" -#: pysollib/tk/menubar.py:634 +#: pysollib/tk/menubar.py:633 msgid "&Special games" msgstr "" -#: pysollib/tk/menubar.py:640 -msgid "All games by name" +#: pysollib/tk/menubar.py:639 +msgid "&All games by name" msgstr "" -#: pysollib/tk/menubar.py:894 pysollib/tk/menubar.py:896 +#: pysollib/tk/menubar.py:1000 pysollib/tk/menubar.py:1002 #: pysollib/tk/selectcardset.py:240 msgid "&Load" msgstr "" -#: pysollib/tk/menubar.py:896 +#: pysollib/tk/menubar.py:1002 msgid "&Info..." msgstr "" -#: pysollib/tk/menubar.py:899 +#: pysollib/tk/menubar.py:1005 msgid "Select " msgstr "" -#: pysollib/tk/menubar.py:960 +#: pysollib/tk/menubar.py:1066 msgid "Select table background" msgstr "" -#: pysollib/tk/menubar.py:972 pysollib/tk/selecttile.py:177 -msgid "Select table color" -msgstr "" - #: pysollib/tk/playeroptionsdialog.py:112 msgid "" "\n" @@ -2788,6 +2821,10 @@ msgstr "" msgid "&Solid color..." msgstr "" +#: pysollib/tk/selecttile.py:177 +msgid "Select table color" +msgstr "" + #: pysollib/tk/soundoptionsdialog.py:75 msgid "Are You Sure" msgstr "" @@ -2894,11 +2931,11 @@ msgid "" "the next time you restart " msgstr "" -#: pysollib/tk/statusbar.py:158 +#: pysollib/tk/statusbar.py:157 msgid "Moves/Total moves" msgstr "" -#: pysollib/tk/statusbar.py:160 +#: pysollib/tk/statusbar.py:159 msgid "Games played: won/lost" msgstr "" @@ -2922,35 +2959,35 @@ msgstr "" msgid "Highlight same rank:" msgstr "" -#: pysollib/tk/tkconst.py:104 +#: pysollib/tk/tkconst.py:101 msgid "Icons only" msgstr "" -#: pysollib/tk/tkconst.py:105 +#: pysollib/tk/tkconst.py:102 msgid "Text below icons" msgstr "" -#: pysollib/tk/tkconst.py:106 +#: pysollib/tk/tkconst.py:103 msgid "Text beside icons" msgstr "" -#: pysollib/tk/tkconst.py:107 +#: pysollib/tk/tkconst.py:104 msgid "Text only" msgstr "" -#: pysollib/tk/tkhtml.py:251 +#: pysollib/tk/tkhtml.py:252 msgid "Index" msgstr "" -#: pysollib/tk/tkhtml.py:255 +#: pysollib/tk/tkhtml.py:256 msgid "Back" msgstr "" -#: pysollib/tk/tkhtml.py:259 +#: pysollib/tk/tkhtml.py:260 msgid "Forward" msgstr "" -#: pysollib/tk/tkhtml.py:263 +#: pysollib/tk/tkhtml.py:264 msgid "Close" msgstr "" @@ -2965,8 +3002,7 @@ msgid "" msgstr "" #: pysollib/tk/tkhtml.py:410 pysollib/tk/tkhtml.py:414 -msgid "" -"Unable to service request:\n" +msgid "Unable to service request:\n" msgstr "" #: pysollib/tk/tkstats.py:95 @@ -3007,8 +3043,7 @@ msgid "No entries for player " msgstr "" #: pysollib/tk/tkstats.py:642 -msgid "" -"No log entries for %s\n" +msgid "No log entries for %s\n" msgstr "" #: pysollib/tk/tkstats.py:647 @@ -3016,8 +3051,7 @@ msgid "Session &log..." msgstr "" #: pysollib/tk/tkstats.py:658 -msgid "" -"No current session log entries for %s\n" +msgid "No current session log entries for %s\n" msgstr "" #: pysollib/tk/tkstats.py:663 @@ -3136,10 +3170,6 @@ msgstr "" msgid "New" msgstr "" -#: pysollib/tk/toolbar.py:198 -msgid "Restart" -msgstr "" - #: pysollib/tk/toolbar.py:198 msgid "" "Restart the\n" @@ -3216,31 +3246,58 @@ msgstr "" msgid "Toolbar" msgstr "" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Club" msgstr "" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Diamond" msgstr "" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Heart" msgstr "" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Spade" msgstr "" -#: pysollib/util.py:77 +#: pysollib/util.py:76 msgid "black" msgstr "" -#: pysollib/util.py:77 +#: pysollib/util.py:76 msgid "red" msgstr "" -#: pysollib/util.py:102 +#: pysollib/util.py:101 msgid "cardset" msgstr "" +#: data/glade-translations:7 +msgid "Game Statistics" +msgstr "" + +#: data/glade-translations:8 data/glade-translations:28 +msgid "Game:" +msgstr "" + +#: data/glade-translations:17 +msgid "Current game" +msgstr "" + +#: data/glade-translations:24 +msgid "Summary" +msgstr "" + +#: data/glade-translations:27 +msgid "Total moves" +msgstr "" + +#: data/glade-translations:30 +msgid "All games" +msgstr "" + +#: data/glade-translations:57 +msgid "Set font" +msgstr "" diff --git a/po/ru_games.po b/po/ru_games.po index 6832b0a2..47e9b83c 100644 --- a/po/ru_games.po +++ b/po/ru_games.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Fri Aug 11 02:15:03 2006\n" +"POT-Creation-Date: Tue Aug 22 21:32:47 2006\n" "PO-Revision-Date: 2006-08-17 20:14+0400\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" @@ -47,6 +47,10 @@ msgstr "8 x 8" msgid "Abacus" msgstr "Абак" +#, fuzzy +msgid "Accordion" +msgstr "Скорпион" + #, fuzzy msgid "Aces High" msgstr "Тузы вверх" @@ -123,6 +127,9 @@ msgstr "Anno Domini" msgid "Another Round" msgstr "Другой Раунд" +msgid "Apophis" +msgstr "" + msgid "Appachan's Waterfall" msgstr "Апачианский водопад" @@ -206,6 +213,10 @@ msgstr "Баланс" msgid "Balarama" msgstr "" +#, fuzzy +msgid "Baroness" +msgstr "Основа" + msgid "Bastille Day" msgstr "День Бастилии" @@ -469,6 +480,10 @@ msgstr "Горный Замок" msgid "Castle of Indolence" msgstr "Замок праздности" +#, fuzzy +msgid "Castles End" +msgstr "Замок" + msgid "Castles in Spain" msgstr "Воздушные замки" @@ -502,6 +517,9 @@ msgstr "Клетчатый" msgid "Chelicera" msgstr "Хелицера" +msgid "Cheops" +msgstr "" + msgid "Chequers" msgstr "Шахматный порядок" @@ -578,6 +596,10 @@ msgstr "Виток" msgid "Corkscrew" msgstr "Штопор" +#, fuzzy +msgid "Corner Card" +msgstr "Углы" + msgid "Corner Suite" msgstr "Угловые масти" @@ -813,6 +835,10 @@ msgstr "Двойная и расчёт" msgid "Doublets" msgstr "Дубликаты" +#, fuzzy +msgid "Doublets II" +msgstr "Дубликаты" + msgid "Dover" msgstr "Довер" @@ -882,6 +908,10 @@ msgstr "Восемь квадратов" msgid "Eight Times Eight" msgstr "Восемь раз по восемь" +#, fuzzy +msgid "Eight by Eight" +msgstr "Восемь раз по восемь" + msgid "Elba" msgstr "Ельба" @@ -1001,6 +1031,10 @@ msgstr "Маджонг Fish face" msgid "Five Aces" msgstr "Пять тузов" +#, fuzzy +msgid "Five Piles" +msgstr "Пять тузов" + msgid "Five Pyramids" msgstr "Пять пирамид" @@ -1359,6 +1393,10 @@ msgstr "Дурацкое удовольствие" msgid "Idle Aces" msgstr "Свободные тузы" +#, fuzzy +msgid "Idle Year" +msgstr "Свободные тузы" + msgid "IloveU" msgstr "IloveU" @@ -1598,6 +1636,10 @@ msgstr "La Parisienne" msgid "Labyrinth" msgstr "Лабиринт" +#, fuzzy +msgid "Ladies Battle" +msgstr "Последняя битва" + msgid "Lady Betty" msgstr "Леди Бетти" @@ -2324,6 +2366,9 @@ msgstr "Орнамент Мерлина" msgid "Mesh" msgstr "Западня" +msgid "Methuselah" +msgstr "" + msgid "Midnight Oil" msgstr "" @@ -2658,6 +2703,10 @@ msgstr "Настойчивость" msgid "Phantom Blockade" msgstr "Призрачная блокада" +#, fuzzy +msgid "Pharaohs" +msgstr "Патриархи" + msgid "Phoenix" msgstr "Феникс" @@ -2994,6 +3043,9 @@ msgstr "Сенат" msgid "Senate +" msgstr "Сенат +" +msgid "Senior Wrangler" +msgstr "" + msgid "Serpent" msgstr "Змея" @@ -3274,6 +3326,10 @@ msgstr "Улицы" msgid "Streets and Alleys" msgstr "Улицы и аллеи" +#, fuzzy +msgid "Striptease" +msgstr "Пласт" + msgid "Stronghold" msgstr "Твердыня" @@ -3438,6 +3494,9 @@ msgstr "Жаба" msgid "Tomb" msgstr "Гробница" +msgid "Toni" +msgstr "" + #, fuzzy msgid "Totally Random-Made" msgstr "Маджонг Totally Random-Made" @@ -3445,6 +3504,10 @@ msgstr "Маджонг Totally Random-Made" msgid "Tournament" msgstr "Турнир" +#, fuzzy +msgid "Tower of Babel" +msgstr "Ханойская башня" + msgid "Tower of Hanoy" msgstr "Ханойская башня" @@ -3561,6 +3624,10 @@ msgstr "" msgid "Vamana" msgstr "" +#, fuzzy +msgid "Vanishing Cross" +msgstr "Маджонг Крест" + #, fuzzy msgid "Varaha" msgstr "Марта" diff --git a/po/ru_pysol.po b/po/ru_pysol.po index c0e251e9..7c1399a3 100644 --- a/po/ru_pysol.po +++ b/po/ru_pysol.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: PySol 0.0.1\n" -"POT-Creation-Date: Fri Aug 11 02:14:56 2006\n" -"PO-Revision-Date: 2006-08-20 17:42+0400\n" +"POT-Creation-Date: Tue Aug 22 21:33:40 2006\n" +"PO-Revision-Date: 2006-08-22 21:34+0400\n" "Last-Translator: Скоморох \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" @@ -14,32 +14,32 @@ msgstr "" "Content-Transfer-Encoding: utf-8\n" "Generated-By: pygettext.py 1.5\n" -#: pysollib/actions.py:360 pysollib/tk/toolbar.py:197 +#: pysollib/actions.py:358 pysollib/tk/toolbar.py:197 msgid "New game" msgstr "Новая игра" -#: pysollib/actions.py:373 pysollib/tk/menubar.py:699 -#: pysollib/tk/menubar.py:713 +#: pysollib/actions.py:371 pysollib/tk/menubar.py:704 +#: pysollib/tk/menubar.py:718 msgid "Select game" msgstr "Выбрать игру" -#: pysollib/actions.py:396 +#: pysollib/actions.py:388 msgid "Invalid game number" msgstr "Неправильный номер игры" -#: pysollib/actions.py:397 +#: pysollib/actions.py:389 msgid "Invalid game number\n" msgstr "Неправильный номер игры\n" -#: pysollib/actions.py:414 +#: pysollib/actions.py:406 msgid "Select next game number" msgstr "Выберите номер следующей игры" -#: pysollib/actions.py:423 pysollib/actions.py:433 +#: pysollib/actions.py:415 pysollib/actions.py:425 msgid "Select new game number" msgstr "Выберите номер новой игры" -#: pysollib/actions.py:424 +#: pysollib/actions.py:416 msgid "" "\n" "\n" @@ -49,13 +49,13 @@ msgstr "" "\n" "Введите номер новой игры" -#: pysollib/actions.py:425 +#: pysollib/actions.py:417 msgid "&Next number" msgstr "&Следующий номер" -#: pysollib/actions.py:425 pysollib/app.py:1143 pysollib/app.py:1155 -#: pysollib/game.py:904 pysollib/game.py:1828 pysollib/main.py:439 -#: pysollib/main.py:447 pysollib/tk/colorsdialog.py:132 +#: pysollib/actions.py:417 pysollib/app.py:1150 pysollib/app.py:1162 +#: pysollib/game.py:925 pysollib/game.py:1861 pysollib/main.py:439 +#: pysollib/main.py:447 pysollib/tk/colorsdialog.py:122 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 #: pysollib/tk/fontsdialog.py:205 pysollib/tk/gameinfodialog.py:155 #: pysollib/tk/playeroptionsdialog.py:85 @@ -71,12 +71,12 @@ msgstr "&Следующий номер" msgid "&OK" msgstr "&ОК" -#: pysollib/actions.py:425 pysollib/app.py:1155 pysollib/game.py:904 -#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 -#: pysollib/game.py:1318 pysollib/tk/colorsdialog.py:132 +#: pysollib/actions.py:417 pysollib/app.py:1162 pysollib/game.py:925 +#: pysollib/game.py:1311 pysollib/game.py:1326 pysollib/game.py:1333 +#: pysollib/game.py:1339 pysollib/tk/colorsdialog.py:122 #: pysollib/tk/edittextdialog.py:82 pysollib/tk/fontsdialog.py:143 -#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:894 -#: pysollib/tk/menubar.py:896 pysollib/tk/playeroptionsdialog.py:85 +#: pysollib/tk/fontsdialog.py:205 pysollib/tk/menubar.py:1000 +#: pysollib/tk/menubar.py:1002 pysollib/tk/playeroptionsdialog.py:85 #: pysollib/tk/playeroptionsdialog.py:160 pysollib/tk/selectcardset.py:240 #: pysollib/tk/selectgame.py:266 pysollib/tk/selectgame.py:407 #: pysollib/tk/selecttile.py:158 pysollib/tk/soundoptionsdialog.py:170 @@ -84,35 +84,35 @@ msgstr "&ОК" msgid "&Cancel" msgstr "От&мена" -#: pysollib/actions.py:441 +#: pysollib/actions.py:433 msgid "Select random game" msgstr "Выбор случайной игры" -#: pysollib/actions.py:477 +#: pysollib/actions.py:469 msgid "Select next game" msgstr "Выбрать следующую игру" -#: pysollib/actions.py:510 pysollib/tk/toolbar.py:211 +#: pysollib/actions.py:502 pysollib/tk/toolbar.py:211 msgid "Quit " msgstr "Выйти из " -#: pysollib/actions.py:560 +#: pysollib/actions.py:552 msgid "Clear bookmarks" msgstr "Удалить закладки" -#: pysollib/actions.py:561 +#: pysollib/actions.py:553 msgid "Clear all bookmarks ?" msgstr "Удалить все закладки?" -#: pysollib/actions.py:571 +#: pysollib/actions.py:563 msgid "Restart game" msgstr "Начать игру с начала" -#: pysollib/actions.py:572 +#: pysollib/actions.py:564 msgid "Restart this game ?" msgstr "Начать игру с начала?" -#: pysollib/actions.py:613 +#: pysollib/actions.py:605 msgid "" "Comments for %s:\n" "\n" @@ -120,19 +120,19 @@ msgstr "" "Комментарий для %s:\n" "\n" -#: pysollib/actions.py:615 +#: pysollib/actions.py:607 msgid "Comments for " msgstr "Комментарий для " -#: pysollib/actions.py:633 pysollib/actions.py:669 +#: pysollib/actions.py:625 pysollib/actions.py:661 msgid "Error while writing to file" msgstr "Ошибка при записи в файл" -#: pysollib/actions.py:636 pysollib/actions.py:672 +#: pysollib/actions.py:628 pysollib/actions.py:664 msgid " Info" msgstr " Информация" -#: pysollib/actions.py:637 +#: pysollib/actions.py:629 msgid "" "Comments were appended to\n" "\n" @@ -140,15 +140,15 @@ msgstr "" "Комментарий добавлен в файл\n" "\n" -#: pysollib/actions.py:654 +#: pysollib/actions.py:646 msgid "Demo statistics" msgstr "Статистика демо" -#: pysollib/actions.py:657 +#: pysollib/actions.py:649 msgid "Your statistics" msgstr "Ваша статистика" -#: pysollib/actions.py:673 +#: pysollib/actions.py:665 msgid "" " were appended to\n" "\n" @@ -156,52 +156,52 @@ msgstr "" " добавлена в файл\n" "\n" -#: pysollib/actions.py:687 +#: pysollib/actions.py:679 msgid " Demo" msgstr " Демо" -#: pysollib/actions.py:687 +#: pysollib/actions.py:679 msgid " Demo " msgstr " Демо " -#: pysollib/actions.py:690 pysollib/actions.py:708 +#: pysollib/actions.py:682 pysollib/actions.py:700 msgid " for " msgstr " для " -#: pysollib/actions.py:696 pysollib/actions.py:715 +#: pysollib/actions.py:688 pysollib/actions.py:707 msgid "Statistics for " msgstr "Статистика игры " -#: pysollib/actions.py:699 pysollib/tk/selectgame.py:350 +#: pysollib/actions.py:691 pysollib/tk/selectgame.py:350 #: pysollib/tk/toolbar.py:208 msgid "Statistics" msgstr "Статистика" -#: pysollib/actions.py:702 +#: pysollib/actions.py:694 msgid "Full log" msgstr "Полный лог" -#: pysollib/actions.py:705 +#: pysollib/actions.py:697 msgid "Session log" msgstr "Лог сессии" -#: pysollib/actions.py:711 +#: pysollib/actions.py:703 msgid "Game Info" msgstr "Информация об игре" -#: pysollib/actions.py:720 +#: pysollib/actions.py:712 msgid "Full log for " msgstr "Полный лог для " -#: pysollib/actions.py:725 +#: pysollib/actions.py:717 msgid "Session log for " msgstr "Лог сессии для " -#: pysollib/actions.py:730 +#: pysollib/actions.py:722 msgid "Reset all statistics" msgstr "Очистить всю статистику" -#: pysollib/actions.py:731 +#: pysollib/actions.py:723 msgid "" "Reset ALL statistics and logs for player\n" "%s ?" @@ -209,11 +209,11 @@ msgstr "" "Очистить всю статистику и лог для игрока\n" "%s?" -#: pysollib/actions.py:737 +#: pysollib/actions.py:729 msgid "Reset game statistics" msgstr "Очистить статистику игры" -#: pysollib/actions.py:738 +#: pysollib/actions.py:730 msgid "" "Reset statistics and logs for player\n" "%s\n" @@ -225,51 +225,51 @@ msgstr "" "и игры\n" "%s?" -#: pysollib/actions.py:794 +#: pysollib/actions.py:785 msgid "Play demo" msgstr "Показать демо" -#: pysollib/actions.py:805 +#: pysollib/actions.py:796 msgid "Set player options" msgstr "Установить настройки игрока" -#: pysollib/actions.py:906 +#: pysollib/actions.py:810 msgid "Sound settings" msgstr "Настройка звука" -#: pysollib/actions.py:927 +#: pysollib/actions.py:819 msgid "Set colors" msgstr "Настроить цвета" -#: pysollib/actions.py:946 +#: pysollib/actions.py:839 msgid "Set fonts" msgstr "Настроить шрифт" -#: pysollib/actions.py:955 +#: pysollib/actions.py:848 msgid "Set timeouts" msgstr "Настроить таймауты" -#: pysollib/app.py:87 +#: pysollib/app.py:86 msgid "Unknown" msgstr "Неизвестный" -#: pysollib/app.py:1005 +#: pysollib/app.py:1012 msgid "Loading %s %s..." msgstr "Загружается %s %s..." -#: pysollib/app.py:1040 +#: pysollib/app.py:1047 msgid " load error" msgstr " ошибка при загрузке" -#: pysollib/app.py:1041 +#: pysollib/app.py:1048 msgid "Error while loading " msgstr "Ошибка при загрузке" -#: pysollib/app.py:1135 +#: pysollib/app.py:1142 msgid "Incompatible " msgstr "Несовместимый " -#: pysollib/app.py:1137 +#: pysollib/app.py:1144 msgid "" "The currently selected %s %s\n" "is not compatible with the game\n" @@ -283,19 +283,19 @@ msgstr "" "\n" "Необходимо выбрать %s типа %s.\n" -#: pysollib/app.py:1153 +#: pysollib/app.py:1160 msgid "Please select a %s type %s" msgstr "Выберите %s типа %s" -#: pysollib/game.py:823 pysollib/game.py:829 +#: pysollib/game.py:844 pysollib/game.py:850 msgid "Player\n" msgstr "Игрок\n" -#: pysollib/game.py:900 +#: pysollib/game.py:921 msgid "Discard current game ?" msgstr "Завершить текущую игру?" -#: pysollib/game.py:1244 +#: pysollib/game.py:1265 msgid "" "\n" "You have reached\n" @@ -305,7 +305,7 @@ msgstr "" "Вы достигли\n" "#%d в %s игрового времени" -#: pysollib/game.py:1247 +#: pysollib/game.py:1268 msgid "" "\n" "and #%d in the %s of moves" @@ -313,7 +313,7 @@ msgstr "" "\n" "и #%d в %s количества ходов" -#: pysollib/game.py:1249 +#: pysollib/game.py:1270 msgid "" "\n" "You have reached\n" @@ -323,7 +323,7 @@ msgstr "" "Вы достигли\n" "#%d в %s количества ходов" -#: pysollib/game.py:1252 +#: pysollib/game.py:1273 msgid "" "\n" "and #%d in the %s of total moves" @@ -331,7 +331,7 @@ msgstr "" "\n" "и #%d в %s общего количества ходов" -#: pysollib/game.py:1254 +#: pysollib/game.py:1275 msgid "" "\n" "You have reached\n" @@ -341,12 +341,12 @@ msgstr "" "Вы достигли\n" "#%d в %s общего количества ходов" -#: pysollib/game.py:1281 pysollib/game.py:1297 +#: pysollib/game.py:1302 pysollib/game.py:1318 #: pysollib/tk/soundoptionsdialog.py:100 msgid "Game won" msgstr "Игра выиграна" -#: pysollib/game.py:1282 +#: pysollib/game.py:1303 msgid "" "\n" "Congratulations, this\n" @@ -365,12 +365,12 @@ msgstr "" "Количество ходов: %s\n" "%s\n" -#: pysollib/game.py:1290 pysollib/game.py:1305 pysollib/game.py:1312 -#: pysollib/game.py:1318 pysollib/tk/menubar.py:257 +#: pysollib/game.py:1311 pysollib/game.py:1326 pysollib/game.py:1333 +#: pysollib/game.py:1339 pysollib/tk/menubar.py:256 msgid "&New game" msgstr "&Новая игра" -#: pysollib/game.py:1298 +#: pysollib/game.py:1319 msgid "" "\n" "Congratulations, you did it !\n" @@ -387,12 +387,12 @@ msgstr "" "Количество ходов: %s\n" "%s\n" -#: pysollib/game.py:1310 pysollib/game.py:1316 +#: pysollib/game.py:1331 pysollib/game.py:1337 #: pysollib/tk/soundoptionsdialog.py:98 msgid "Game finished" msgstr "Игра закончена" -#: pysollib/game.py:1311 pysollib/game.py:1829 +#: pysollib/game.py:1332 pysollib/game.py:1862 msgid "" "\n" "Game finished\n" @@ -400,7 +400,7 @@ msgstr "" "\n" "Игра закончена\n" -#: pysollib/game.py:1317 +#: pysollib/game.py:1338 msgid "" "\n" "Game finished, but not without my help...\n" @@ -408,35 +408,35 @@ msgstr "" "\n" "Игра закончена, но не без моей помощи...\n" -#: pysollib/game.py:1318 +#: pysollib/game.py:1339 msgid "&Restart" msgstr "&Начало" -#: pysollib/game.py:1720 +#: pysollib/game.py:1753 msgid "Score %6d" msgstr "Счет %6d" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Cool" msgstr "&Отлично" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Great" msgstr "&Эдорово" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Wow" msgstr "&Ура" -#: pysollib/game.py:1819 +#: pysollib/game.py:1852 msgid "&Yeah" msgstr "&Ага" -#: pysollib/game.py:1820 pysollib/game.py:1832 pysollib/game.py:1845 +#: pysollib/game.py:1853 pysollib/game.py:1865 pysollib/game.py:1878 msgid " Autopilot" msgstr " Автопилот" -#: pysollib/game.py:1821 +#: pysollib/game.py:1854 msgid "" "\n" "Game solved in %d moves.\n" @@ -444,19 +444,19 @@ msgstr "" "\n" "Игра решена за %d ходов\n" -#: pysollib/game.py:1844 +#: pysollib/game.py:1877 msgid "&Hmm" msgstr "&Хмм" -#: pysollib/game.py:1844 +#: pysollib/game.py:1877 msgid "&Oh well" msgstr "&Ох" -#: pysollib/game.py:1844 +#: pysollib/game.py:1877 msgid "&That's life" msgstr "&Такова жизнь" -#: pysollib/game.py:1846 +#: pysollib/game.py:1879 msgid "" "\n" "This won't come out...\n" @@ -464,31 +464,31 @@ msgstr "" "\n" "Не удалось...\n" -#: pysollib/game.py:2264 +#: pysollib/game.py:2298 msgid "Set bookmark" msgstr "Установить закладку" -#: pysollib/game.py:2265 +#: pysollib/game.py:2299 msgid "Replace existing bookmark %d ?" msgstr "Заменить существующую закладку %d ?" -#: pysollib/game.py:2287 +#: pysollib/game.py:2321 msgid "Goto bookmark" msgstr "Перейти к закладке" -#: pysollib/game.py:2288 +#: pysollib/game.py:2322 msgid "Goto bookmark %d ?" msgstr "Перейти к закладке %d ?" -#: pysollib/game.py:2319 +#: pysollib/game.py:2353 msgid "Open game" msgstr "Открыть игру" -#: pysollib/game.py:2330 pysollib/game.py:2339 pysollib/game.py:2344 +#: pysollib/game.py:2364 pysollib/game.py:2373 pysollib/game.py:2378 msgid "Load game error" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2331 +#: pysollib/game.py:2365 msgid "" "Error while loading game.\n" "\n" @@ -500,11 +500,11 @@ msgstr "" "Возможно повреждён файл,\n" "или ошибка в программе." -#: pysollib/game.py:2340 +#: pysollib/game.py:2374 msgid "Error while loading game" msgstr "Ошибка при загрузке игры" -#: pysollib/game.py:2345 +#: pysollib/game.py:2379 msgid "" "Internal error while loading game.\n" "\n" @@ -514,11 +514,11 @@ msgstr "" "\n" "Пожалуйста сообщите об этой ошибке." -#: pysollib/game.py:2370 +#: pysollib/game.py:2404 msgid "Save game error" msgstr "Ошибка при сохранении игры" -#: pysollib/game.py:2371 +#: pysollib/game.py:2405 msgid "Error while saving game" msgstr "Ошибка при сохранении игры" @@ -763,12 +763,12 @@ msgstr "" "4: 8 Д 3 7 В 2 6 10 Т 5 9 К" #: pysollib/games/canfield.py:528 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1304 pysollib/util.py:81 +#: pysollib/stack.py:1326 pysollib/util.py:80 msgid "King" msgstr "Король" #: pysollib/games/canfield.py:531 pysollib/games/special/tarock.py:224 -#: pysollib/stack.py:1303 pysollib/util.py:81 +#: pysollib/stack.py:1325 pysollib/util.py:80 msgid "Queen" msgstr "Королева" @@ -786,11 +786,11 @@ msgid "X" msgstr "Х" #: pysollib/games/golf.py:114 pysollib/games/golf.py:300 -#: pysollib/stack.py:1915 +#: pysollib/stack.py:1980 msgid "Tableau. No building." msgstr "Игровой стол. Без выкладывания." -#: pysollib/games/golf.py:385 pysollib/stack.py:1848 +#: pysollib/games/golf.py:385 pysollib/stack.py:1913 msgid "Foundation. Build up regardless of suit." msgstr "Базовая ячейка. Складывать по возрастанию не считаясь с мастью." @@ -798,11 +798,11 @@ msgstr "Базовая ячейка. Складывать по возраста msgid "Balance $%d" msgstr "Баланс $%d" -#: pysollib/games/klondike.py:419 +#: pysollib/games/klondike.py:439 msgid "Reserve. Only Kings are acceptable." msgstr "Резерв. Только для королей." -#: pysollib/games/larasgame.py:163 pysollib/stack.py:1525 +#: pysollib/games/larasgame.py:163 pysollib/stack.py:1542 msgid "Round %d" msgstr "Раунд %d" @@ -931,7 +931,7 @@ msgstr "Жезлы" #: pysollib/games/special/tarock.py:223 #: pysollib/games/ultra/dashavatara.py:351 #: pysollib/games/ultra/hexadeck.py:273 pysollib/games/ultra/mughal.py:254 -#: pysollib/stack.py:1305 pysollib/util.py:80 +#: pysollib/stack.py:1327 pysollib/util.py:79 msgid "Ace" msgstr "Туз" @@ -951,7 +951,7 @@ msgstr "Очков: Текущая раздача: " msgid "\tThis game: " msgstr " Эта игра: " -#: pysollib/games/tournament.py:245 +#: pysollib/games/tournament.py:226 msgid "Reserve. Build down by suit." msgstr "Резерв. Складывать по убыванию в соответствии с мастью." @@ -1245,27 +1245,27 @@ msgstr "" "Игровой стол. Складывать по убыванию не считаясь с мастью, можно перемещать " "любую серию открытых карт." -#: pysollib/help.py:64 +#: pysollib/help.py:63 msgid "A Python Solitaire Game Collection\n" msgstr "Коллекция питоновских пасьянсев\n" -#: pysollib/help.py:66 +#: pysollib/help.py:65 msgid "A World Domination Project\n" msgstr "Всемирный непревзойденный проект\n" -#: pysollib/help.py:67 +#: pysollib/help.py:66 msgid "&Credits..." msgstr "&Благодарности..." -#: pysollib/help.py:67 +#: pysollib/help.py:66 msgid "&Nice" msgstr "&Отлично" -#: pysollib/help.py:69 +#: pysollib/help.py:68 msgid "&Enjoy" msgstr "&Наслаждайтесь" -#: pysollib/help.py:71 +#: pysollib/help.py:70 msgid "" "Version %s\n" "\n" @@ -1273,11 +1273,11 @@ msgstr "" "Версия %s\n" "\n" -#: pysollib/help.py:72 +#: pysollib/help.py:71 msgid "About " msgstr "О программе " -#: pysollib/help.py:73 +#: pysollib/help.py:72 msgid "" "PySol Fan Club edition\n" "%s%s\n" @@ -1308,11 +1308,11 @@ msgstr "" "об этом приложении посетите сайт\n" "%s" -#: pysollib/help.py:102 +#: pysollib/help.py:101 msgid "Credits" msgstr "Благодарности" -#: pysollib/help.py:103 +#: pysollib/help.py:102 msgid "" " credits go to:\n" "\n" @@ -1327,23 +1327,23 @@ msgid "" "for making this program possible" msgstr "" -#: pysollib/help.py:138 +#: pysollib/help.py:137 msgid " HTML Problem" msgstr " проблема с HTML" -#: pysollib/help.py:139 +#: pysollib/help.py:138 msgid "Cannot find help document\n" msgstr "Не найден файл помощи\n" -#: pysollib/help.py:152 +#: pysollib/help.py:151 msgid " Help" msgstr " Помощь" -#: pysollib/main.py:68 pysollib/main.py:348 +#: pysollib/main.py:66 pysollib/main.py:348 msgid " installation error" msgstr " проблема с установкой" -#: pysollib/main.py:69 +#: pysollib/main.py:67 msgid "" "No %ss were found !!!\n" "\n" @@ -1353,11 +1353,11 @@ msgid "" "Please check your %s installation.\n" msgstr "" -#: pysollib/main.py:76 pysollib/main.py:356 pysollib/tk/menubar.py:276 +#: pysollib/main.py:74 pysollib/main.py:356 pysollib/tk/menubar.py:275 msgid "&Quit" msgstr "В&ыход" -#: pysollib/main.py:98 +#: pysollib/main.py:96 msgid "" "%s: %s\n" "try %s --help for more information" @@ -1365,7 +1365,7 @@ msgstr "" "%s: %s\n" "попробуйте %s --help для получения более подробной информаци" -#: pysollib/main.py:135 +#: pysollib/main.py:133 msgid "" "Usage: %s [OPTIONS] [FILE]\n" " -g --game=GAMENAME start game GAMENAME\n" @@ -1389,7 +1389,7 @@ msgstr "" "\n" " FILE - имя файла сохраненной игры\n" -#: pysollib/main.py:149 +#: pysollib/main.py:147 msgid "" "%s: too many files\n" "try %s --help for more information" @@ -1397,7 +1397,7 @@ msgstr "" "\"%s: слишком много файлов\n" "попробуйте %s --help для получения более подробной информаци" -#: pysollib/main.py:153 +#: pysollib/main.py:151 msgid "" "%s: invalid file name\n" "try %s --help for more information" @@ -1441,414 +1441,414 @@ msgstr "" msgid "Welcome to " msgstr "Добро пожаловать в " -#: pysollib/resource.py:243 +#: pysollib/resource.py:242 msgid "French type (52 cards)" msgstr "Классические (52 карты)" -#: pysollib/resource.py:244 +#: pysollib/resource.py:243 msgid "Hanafuda type (48 cards)" msgstr "Ханафуда (48 карт)" -#: pysollib/resource.py:245 +#: pysollib/resource.py:244 msgid "Tarock type (78 cards)" msgstr "Таро (78 карт)" -#: pysollib/resource.py:246 +#: pysollib/resource.py:245 msgid "Mahjongg type (42 tiles)" msgstr "Маджонг (42 фишки)" -#: pysollib/resource.py:247 +#: pysollib/resource.py:246 msgid "Hex A Deck type (68 cards)" msgstr "Hex A Deck (68 карт)" -#: pysollib/resource.py:248 +#: pysollib/resource.py:247 msgid "Mughal Ganjifa type (96 cards)" msgstr "Мугал Ганджифа (96 карт)" -#: pysollib/resource.py:249 +#: pysollib/resource.py:248 msgid "Navagraha Ganjifa type (108 cards)" msgstr "Наваграха Ганджифа (108 карт)" -#: pysollib/resource.py:250 +#: pysollib/resource.py:249 msgid "Dashavatara Ganjifa type (120 cards)" msgstr "Дашаватара Ганджифа (120 карт)" -#: pysollib/resource.py:251 +#: pysollib/resource.py:250 msgid "Trumps only type (variable cards)" msgstr "Без мастей (переменное количество карт)" -#: pysollib/resource.py:255 +#: pysollib/resource.py:254 msgid "French" msgstr "Классические" -#: pysollib/resource.py:256 pysollib/resource.py:280 +#: pysollib/resource.py:255 pysollib/resource.py:279 msgid "Hanafuda" msgstr "Ханафуда" -#: pysollib/resource.py:257 pysollib/resource.py:296 +#: pysollib/resource.py:256 pysollib/resource.py:295 msgid "Tarock" msgstr "Таро" -#: pysollib/resource.py:258 pysollib/resource.py:283 +#: pysollib/resource.py:257 pysollib/resource.py:282 msgid "Mahjongg" msgstr "Маджонг" -#: pysollib/resource.py:259 pysollib/resource.py:281 +#: pysollib/resource.py:258 pysollib/resource.py:280 msgid "Hex A Deck" msgstr "Hex A Deck" -#: pysollib/resource.py:260 +#: pysollib/resource.py:259 msgid "Mughal Ganjifa" msgstr "Мугал Ганджифа" -#: pysollib/resource.py:261 +#: pysollib/resource.py:260 msgid "Navagraha Ganjifa" msgstr "Наваграха Ганджифа" -#: pysollib/resource.py:262 +#: pysollib/resource.py:261 msgid "Dashavatara Ganjifa" msgstr "Дашаватара Ганджифа" -#: pysollib/resource.py:263 +#: pysollib/resource.py:262 #, fuzzy msgid "Trumps only" msgstr "Козырь" -#: pysollib/resource.py:268 +#: pysollib/resource.py:267 msgid "Adult" msgstr "Для взрослых" -#: pysollib/resource.py:269 +#: pysollib/resource.py:268 msgid "Animals" msgstr "Животные" -#: pysollib/resource.py:270 +#: pysollib/resource.py:269 msgid "Anime" msgstr "Мультфильмы" -#: pysollib/resource.py:271 +#: pysollib/resource.py:270 msgid "Art" msgstr "Искусство" -#: pysollib/resource.py:272 +#: pysollib/resource.py:271 msgid "Cartoons" msgstr "Комиксы" -#: pysollib/resource.py:273 +#: pysollib/resource.py:272 msgid "Children" msgstr "Дети" -#: pysollib/resource.py:274 +#: pysollib/resource.py:273 msgid "Classic look" msgstr "Классический вид" -#: pysollib/resource.py:275 +#: pysollib/resource.py:274 msgid "Collectors" msgstr "Коллекционные" -#: pysollib/resource.py:276 +#: pysollib/resource.py:275 msgid "Computers" msgstr "Компьютеры" -#: pysollib/resource.py:277 +#: pysollib/resource.py:276 msgid "Engines" msgstr "Машины" -#: pysollib/resource.py:278 +#: pysollib/resource.py:277 msgid "Fantasy" msgstr "Фентези" -#: pysollib/resource.py:279 +#: pysollib/resource.py:278 msgid "Ganjifa" msgstr "Ганджифа" -#: pysollib/resource.py:282 +#: pysollib/resource.py:281 msgid "Holiday" msgstr "Праздники" -#: pysollib/resource.py:284 +#: pysollib/resource.py:283 msgid "Movies" msgstr "Фильмы" -#: pysollib/resource.py:285 +#: pysollib/resource.py:284 msgid "Matrix" msgstr "Мозаика" -#: pysollib/resource.py:286 +#: pysollib/resource.py:285 msgid "Music" msgstr "Музыка" -#: pysollib/resource.py:287 +#: pysollib/resource.py:286 msgid "Nature" msgstr "Природа" -#: pysollib/resource.py:288 +#: pysollib/resource.py:287 msgid "Operating Systems" msgstr "Операционные системы" -#: pysollib/resource.py:289 +#: pysollib/resource.py:288 msgid "People" msgstr "Люди" -#: pysollib/resource.py:290 +#: pysollib/resource.py:289 msgid "Places" msgstr "Дома" -#: pysollib/resource.py:291 +#: pysollib/resource.py:290 msgid "Plain" msgstr "Простые" -#: pysollib/resource.py:292 +#: pysollib/resource.py:291 msgid "Products" msgstr "Продукты" -#: pysollib/resource.py:293 +#: pysollib/resource.py:292 msgid "Round cardsets" msgstr "Закруглённые" -#: pysollib/resource.py:294 +#: pysollib/resource.py:293 msgid "Science Fiction" msgstr "Научная фантастика" -#: pysollib/resource.py:295 +#: pysollib/resource.py:294 msgid "Sports" msgstr "Спорт" -#: pysollib/resource.py:297 +#: pysollib/resource.py:296 msgid "Vehicels" msgstr "Транспортные средства" -#: pysollib/resource.py:298 +#: pysollib/resource.py:297 msgid "Video Games" msgstr "Видеоигры" -#: pysollib/resource.py:303 +#: pysollib/resource.py:302 msgid "Australia" msgstr "Австралия" -#: pysollib/resource.py:304 +#: pysollib/resource.py:303 msgid "Austria" msgstr "Австрия" -#: pysollib/resource.py:305 +#: pysollib/resource.py:304 msgid "Belgium" msgstr "Бельгия" -#: pysollib/resource.py:306 +#: pysollib/resource.py:305 msgid "Canada" msgstr "Канада" -#: pysollib/resource.py:307 +#: pysollib/resource.py:306 msgid "China" msgstr "Китай" -#: pysollib/resource.py:308 +#: pysollib/resource.py:307 msgid "Czech Republic" msgstr "Чехия" -#: pysollib/resource.py:309 +#: pysollib/resource.py:308 msgid "Denmark" msgstr "Дания" -#: pysollib/resource.py:310 +#: pysollib/resource.py:309 msgid "England" msgstr "Англия" -#: pysollib/resource.py:311 +#: pysollib/resource.py:310 msgid "France" msgstr "Франция" -#: pysollib/resource.py:312 +#: pysollib/resource.py:311 msgid "Germany" msgstr "Германия" -#: pysollib/resource.py:313 +#: pysollib/resource.py:312 msgid "Great Britain" msgstr "Великобритания" -#: pysollib/resource.py:314 +#: pysollib/resource.py:313 msgid "Hungary" msgstr "Венгрия" -#: pysollib/resource.py:315 +#: pysollib/resource.py:314 msgid "India" msgstr "Индия" -#: pysollib/resource.py:316 +#: pysollib/resource.py:315 msgid "Italy" msgstr "Италия" -#: pysollib/resource.py:317 +#: pysollib/resource.py:316 msgid "Japan" msgstr "Япония" -#: pysollib/resource.py:318 +#: pysollib/resource.py:317 msgid "Netherlands" msgstr "Голландия" -#: pysollib/resource.py:319 +#: pysollib/resource.py:318 msgid "Russia" msgstr "Россия" -#: pysollib/resource.py:320 +#: pysollib/resource.py:319 msgid "Spain" msgstr "Испания" -#: pysollib/resource.py:321 +#: pysollib/resource.py:320 msgid "Sweden" msgstr "Швеция" -#: pysollib/resource.py:322 +#: pysollib/resource.py:321 msgid "Switzerland" msgstr "Швейцария" -#: pysollib/resource.py:323 +#: pysollib/resource.py:322 msgid "USA" msgstr "США" -#: pysollib/settings.py:47 +#: pysollib/settings.py:54 msgid "Top 10" msgstr "Top 10" -#: pysollib/stack.py:1299 +#: pysollib/stack.py:1321 msgid "Base card - %s." msgstr "Базовая карта - %s." -#: pysollib/stack.py:1300 +#: pysollib/stack.py:1322 msgid "Empty row cannot be filled." msgstr "Пустой ряд не заполняется." -#: pysollib/stack.py:1301 +#: pysollib/stack.py:1323 msgid "any card" msgstr "любая карта" -#: pysollib/stack.py:1302 pysollib/util.py:81 +#: pysollib/stack.py:1324 pysollib/util.py:80 msgid "Jack" msgstr "Валет" -#: pysollib/stack.py:1315 +#: pysollib/stack.py:1337 msgid "No cards" msgstr "Нет карт" -#: pysollib/stack.py:1316 +#: pysollib/stack.py:1338 msgid "1 card" msgstr "1 карта" -#: pysollib/stack.py:1317 +#: pysollib/stack.py:1339 msgid " cards" msgstr " карт" -#: pysollib/stack.py:1534 pysollib/stack.py:1536 pysollib/stack.py:1567 +#: pysollib/stack.py:1551 pysollib/stack.py:1553 pysollib/stack.py:1589 msgid "Redeal" msgstr "Сдать" -#: pysollib/stack.py:1536 +#: pysollib/stack.py:1553 msgid "Stop" msgstr "Стоп" -#: pysollib/stack.py:1587 +#: pysollib/stack.py:1613 msgid "Variable redeals." msgstr "Переменное количество пересдач." -#: pysollib/stack.py:1588 +#: pysollib/stack.py:1614 msgid "Unlimited redeals." msgstr "Неограниченное количество пересдач." -#: pysollib/stack.py:1589 +#: pysollib/stack.py:1615 msgid "No redeals." msgstr "Без пересдачи." -#: pysollib/stack.py:1590 +#: pysollib/stack.py:1616 msgid "One redeal." msgstr "1 пересдача." -#: pysollib/stack.py:1591 +#: pysollib/stack.py:1617 msgid " redeals." msgstr " пересдачи." -#: pysollib/stack.py:1593 +#: pysollib/stack.py:1619 msgid "Talon." msgstr "Колода." -#: pysollib/stack.py:1779 pysollib/stack.py:2229 +#: pysollib/stack.py:1844 pysollib/stack.py:2294 msgid "Reserve. No building." msgstr "Резерв. Без выкладывания." -#: pysollib/stack.py:1816 +#: pysollib/stack.py:1881 msgid "Foundation." msgstr "Базовая ячейка" -#: pysollib/stack.py:1832 +#: pysollib/stack.py:1897 msgid "Foundation. Build up by suit." msgstr "Базовая ячейка. Складывать по возрастанию в соответствии с мастью." -#: pysollib/stack.py:1833 +#: pysollib/stack.py:1898 msgid "Foundation. Build down by suit." msgstr "Базовая ячейка. Складывать по убыванию в соответствии с мастью." -#: pysollib/stack.py:1834 pysollib/stack.py:1850 pysollib/stack.py:1872 +#: pysollib/stack.py:1899 pysollib/stack.py:1915 pysollib/stack.py:1937 msgid "Foundation. Build by same rank." msgstr "Базовая ячейка. Складывать в соответствии с достоинством." -#: pysollib/stack.py:1849 +#: pysollib/stack.py:1914 msgid "Foundation. Build down regardless of suit." msgstr "Базовая ячейка. Складывать не считаясь с мастью." -#: pysollib/stack.py:1870 +#: pysollib/stack.py:1935 msgid "Foundation. Build up by alternate color." msgstr "Базовая ячейка. Складывать по возрастанию чередуя цвет." -#: pysollib/stack.py:1871 +#: pysollib/stack.py:1936 msgid "Foundation. Build down by alternate color." msgstr "Базовая ячейка. Складывать по убыванию чередуя цвет." -#: pysollib/stack.py:1945 +#: pysollib/stack.py:2010 msgid "Tableau. Build up by alternate color." msgstr "Игровой стол. Складывать по возрастанию чередуя цвет." -#: pysollib/stack.py:1946 +#: pysollib/stack.py:2011 msgid "Tableau. Build down by alternate color." msgstr "Игровой стол. Складывать по убыванию чередуя цвет." -#: pysollib/stack.py:1947 pysollib/stack.py:1957 pysollib/stack.py:1966 -#: pysollib/stack.py:1975 pysollib/stack.py:1985 pysollib/stack.py:2008 -#: pysollib/stack.py:2018 +#: pysollib/stack.py:2012 pysollib/stack.py:2022 pysollib/stack.py:2031 +#: pysollib/stack.py:2040 pysollib/stack.py:2050 pysollib/stack.py:2073 +#: pysollib/stack.py:2083 msgid "Tableau. Build by same rank." msgstr "Игровой стол. Складывать в соответствии с достоинством." -#: pysollib/stack.py:1955 +#: pysollib/stack.py:2020 msgid "Tableau. Build up by color." msgstr "Игровой стол. Складывать по возрастанию в соответствии с цветом." -#: pysollib/stack.py:1956 +#: pysollib/stack.py:2021 msgid "Tableau. Build down by color." msgstr "Игровой стол. Складывать по убыванию в соответствии с цветом." -#: pysollib/stack.py:1964 +#: pysollib/stack.py:2029 msgid "Tableau. Build up by suit." msgstr "Игровой стол. Складывать по возрастанию в соответствии с мастью." -#: pysollib/stack.py:1965 +#: pysollib/stack.py:2030 msgid "Tableau. Build down by suit." msgstr "Игровой стол. Складывать по убыванию в соответствии с мастью." -#: pysollib/stack.py:1973 +#: pysollib/stack.py:2038 msgid "Tableau. Build up regardless of suit." msgstr "Игровой стол. Складывать по возрастанию не считаясь с мастью." -#: pysollib/stack.py:1974 +#: pysollib/stack.py:2039 msgid "Tableau. Build down regardless of suit." msgstr "Игровой стол. Складывать по убыванию не считаясь с мастью." -#: pysollib/stack.py:1983 +#: pysollib/stack.py:2048 msgid "Tableau. Build up in any suit but the same." msgstr "Игровой стол. Складывать по возрастанию в любую масть кроме такой же." -#: pysollib/stack.py:1984 +#: pysollib/stack.py:2049 msgid "Tableau. Build down in any suit but the same." msgstr "Игровой стол. Складывать по убыванию в любую масть кроме такой же." -#: pysollib/stack.py:2006 +#: pysollib/stack.py:2071 msgid "" "Tableau. Build up regardless of suit. Sequences of cards in alternate color " "can be moved as a unit." @@ -1856,7 +1856,7 @@ msgstr "" "Игровой стол. Складывать по возрастанию не считаясь с мастью. Можно " "перемещать серии карт чередующихся цветом." -#: pysollib/stack.py:2007 +#: pysollib/stack.py:2072 msgid "" "Tableau. Build down regardless of suit. Sequences of cards in alternate " "color can be moved as a unit." @@ -1864,7 +1864,7 @@ msgstr "" "Игровой стол. Складывать по убыванию не считаясь с мастью. Можно перемещать " "серии карт чередующихся цветом." -#: pysollib/stack.py:2016 +#: pysollib/stack.py:2081 msgid "" "Tableau. Build up regardless of suit. Sequences of cards in the same suit " "can be moved as a unit." @@ -1872,7 +1872,7 @@ msgstr "" "Игровой стол. Складывать по возрастанию не считаясь с мастью. Можно " "перемещать серии карт одинаковой масти." -#: pysollib/stack.py:2017 +#: pysollib/stack.py:2082 msgid "" "Tableau. Build down regardless of suit. Sequences of cards in the same suit " "can be moved as a unit." @@ -1880,7 +1880,7 @@ msgstr "" "Игровой стол. Складывать по убыванию не считаясь с мастью. Можно перемещать " "серии карт одинаковой масти." -#: pysollib/stack.py:2039 +#: pysollib/stack.py:2104 msgid "" "Tableau. Build up by alternate color, can move any face-up cards regardless " "of sequence." @@ -1888,7 +1888,7 @@ msgstr "" "Игровой стол. Складывать по возрастанию чередуя цвет, можно перемещать любую " "серию открытых карт." -#: pysollib/stack.py:2040 +#: pysollib/stack.py:2105 msgid "" "Tableau. Build down by alternate color, can move any face-up cards " "regardless of sequence." @@ -1896,7 +1896,7 @@ msgstr "" "Игровой стол. Складывать по убыванию чередуя цвет, можно перемещать любую " "серию открытых карт." -#: pysollib/stack.py:2041 pysollib/stack.py:2054 +#: pysollib/stack.py:2106 pysollib/stack.py:2119 msgid "" "Tableau. Build by same rank, can move any face-up cards regardless of " "sequence." @@ -1904,14 +1904,14 @@ msgstr "" "Игровой стол. Складывать в соответствии с достоинством, можно перемещать " "любую серию открытых карт." -#: pysollib/stack.py:2052 +#: pysollib/stack.py:2117 msgid "" "Tableau. Build up by suit, can move any face-up cards regardless of sequence." msgstr "" "Игровой стол. Складывать по возрастанию в соответствии с мастью, можно " "перемещать любую серию открытых карт." -#: pysollib/stack.py:2053 +#: pysollib/stack.py:2118 msgid "" "Tableau. Build down by suit, can move any face-up cards regardless of " "sequence." @@ -1919,30 +1919,30 @@ msgstr "" "Игровой стол. Складывать по убыванию в соответствии с мастью, можно " "перемещать любую серию открытых карт." -#: pysollib/stack.py:2086 +#: pysollib/stack.py:2151 msgid "Tableau. Build up or down by color." msgstr "" "Игровой стол. Складывать по возрастанию или убыванию в соответствии с цветом." -#: pysollib/stack.py:2097 +#: pysollib/stack.py:2162 msgid "Tableau. Build up or down by alternate color." msgstr "Игровой стол. Складывать по возрастанию или убыванию чередуя цвет." -#: pysollib/stack.py:2108 +#: pysollib/stack.py:2173 msgid "Tableau. Build up or down by suit." msgstr "" "Игровой стол. Складывать по возрастанию или убыванию в соответствии с мастью." -#: pysollib/stack.py:2119 +#: pysollib/stack.py:2184 msgid "Tableau. Build up or down regardless of suit." msgstr "" "Игровой стол. Складывать по возрастанию или убыванию не считаясь с мастью." -#: pysollib/stack.py:2130 +#: pysollib/stack.py:2195 msgid "Waste." msgstr "Сброс." -#: pysollib/stack.py:2230 +#: pysollib/stack.py:2295 msgid "Free cell." msgstr "Свободная ячейка." @@ -1962,7 +1962,7 @@ msgstr "Выиграл" msgid "Lost" msgstr "Проиграл" -#: pysollib/stats.py:122 pysollib/tk/statusbar.py:157 +#: pysollib/stats.py:122 pysollib/tk/statusbar.py:156 msgid "Playing time" msgstr "Время игры" @@ -1986,7 +1986,7 @@ msgstr "Игра" msgid "Status" msgstr "Статус" -#: pysollib/stats.py:162 pysollib/tk/statusbar.py:159 +#: pysollib/stats.py:162 pysollib/tk/statusbar.py:158 #: pysollib/tk/tkstats.py:735 msgid "Game number" msgstr "Номер игры" @@ -2015,48 +2015,48 @@ msgstr "Не выиграл" msgid "Perfect" msgstr "Великолепная" -#: pysollib/tk/colorsdialog.py:73 +#: pysollib/tk/colorsdialog.py:71 msgid "Text foreground:" msgstr "Цвет текста:" -#: pysollib/tk/colorsdialog.py:79 pysollib/tk/colorsdialog.py:98 +#: pysollib/tk/colorsdialog.py:76 pysollib/tk/colorsdialog.py:94 #: pysollib/tk/fontsdialog.py:186 msgid "Change..." msgstr "Изменить..." -#: pysollib/tk/colorsdialog.py:85 pysollib/tk/timeoutsdialog.py:68 +#: pysollib/tk/colorsdialog.py:81 pysollib/tk/timeoutsdialog.py:68 msgid "Highlight piles:" msgstr "Подсветка групп:" -#: pysollib/tk/colorsdialog.py:86 +#: pysollib/tk/colorsdialog.py:82 msgid "Highlight cards 1:" msgstr "Подсветка карт 1:" -#: pysollib/tk/colorsdialog.py:87 +#: pysollib/tk/colorsdialog.py:83 msgid "Highlight cards 2:" msgstr "Подсветка карт 2:" -#: pysollib/tk/colorsdialog.py:88 +#: pysollib/tk/colorsdialog.py:84 msgid "Highlight same rank 1:" msgstr "Подсветка карт одного достоинства 1:" -#: pysollib/tk/colorsdialog.py:89 +#: pysollib/tk/colorsdialog.py:85 msgid "Highlight same rank 2:" msgstr "Подсветка карт одного достоинства 2:" -#: pysollib/tk/colorsdialog.py:90 +#: pysollib/tk/colorsdialog.py:86 msgid "Hint arrow:" msgstr "Стрелка подсказки:" -#: pysollib/tk/colorsdialog.py:91 +#: pysollib/tk/colorsdialog.py:87 msgid "Highlight not matching:" msgstr "Подсветка отсутствия совпадения:" -#: pysollib/tk/colorsdialog.py:124 +#: pysollib/tk/colorsdialog.py:114 msgid "Select color" msgstr "Выбрать цвет" -#: pysollib/tk/findcarddialog.py:52 pysollib/tk/menubar.py:329 +#: pysollib/tk/findcarddialog.py:52 pysollib/tk/menubar.py:328 msgid "Find card" msgstr "Найти карту" @@ -2104,491 +2104,487 @@ msgstr "Игровой стол маленький: " msgid "Select font" msgstr "Выбрать шрифт" -#: pysollib/tk/menubar.py:75 +#: pysollib/tk/menubar.py:74 msgid "Style" msgstr "Стиль" -#: pysollib/tk/menubar.py:84 +#: pysollib/tk/menubar.py:83 msgid "Relief" msgstr "Рельеф" -#: pysollib/tk/menubar.py:85 +#: pysollib/tk/menubar.py:84 msgid "Flat" msgstr "Плоский" -#: pysollib/tk/menubar.py:89 +#: pysollib/tk/menubar.py:88 msgid "Raised" msgstr "Выпуклый" -#: pysollib/tk/menubar.py:94 +#: pysollib/tk/menubar.py:93 msgid "Compound" msgstr "Компоновка" -#: pysollib/tk/menubar.py:100 +#: pysollib/tk/menubar.py:99 msgid "Hide" msgstr "Спрятать" -#: pysollib/tk/menubar.py:103 +#: pysollib/tk/menubar.py:102 msgid "Top" msgstr "Сверху" -#: pysollib/tk/menubar.py:106 +#: pysollib/tk/menubar.py:105 msgid "Bottom" msgstr "Внизу" -#: pysollib/tk/menubar.py:109 +#: pysollib/tk/menubar.py:108 msgid "Left" msgstr "Слева" -#: pysollib/tk/menubar.py:112 +#: pysollib/tk/menubar.py:111 msgid "Right" msgstr "Справа" -#: pysollib/tk/menubar.py:116 +#: pysollib/tk/menubar.py:115 msgid "Small icons" msgstr "Маленькие пиктограммы" -#: pysollib/tk/menubar.py:119 +#: pysollib/tk/menubar.py:118 msgid "Large icons" msgstr "Большие пиктограммы" -#: pysollib/tk/menubar.py:125 +#: pysollib/tk/menubar.py:124 msgid "Customize toolbar" msgstr "Настроить панель инструментов" -#: pysollib/tk/menubar.py:256 +#: pysollib/tk/menubar.py:255 msgid "&File" msgstr "&Файл" -#: pysollib/tk/menubar.py:258 +#: pysollib/tk/menubar.py:257 msgid "R&ecent games" msgstr "Выбрать н&едавнюю игру" -#: pysollib/tk/menubar.py:260 +#: pysollib/tk/menubar.py:259 msgid "Select &random game" msgstr "С&лучайная игра" -#: pysollib/tk/menubar.py:261 +#: pysollib/tk/menubar.py:260 msgid "&All games" msgstr "&Все игры" -#: pysollib/tk/menubar.py:262 +#: pysollib/tk/menubar.py:261 msgid "Games played and &won" msgstr "&Выигранные игры" -#: pysollib/tk/menubar.py:263 +#: pysollib/tk/menubar.py:262 msgid "Games played and ¬ won" msgstr "&Невыигранные игры" -#: pysollib/tk/menubar.py:264 +#: pysollib/tk/menubar.py:263 msgid "Games not &played" msgstr "Не&сыгранные игры" -#: pysollib/tk/menubar.py:265 +#: pysollib/tk/menubar.py:264 msgid "Select game by nu&mber..." msgstr "Выбрать игру по &номеру..." -#: pysollib/tk/menubar.py:267 +#: pysollib/tk/menubar.py:266 msgid "Fa&vorite games" msgstr "&Избранные игры" -#: pysollib/tk/menubar.py:268 +#: pysollib/tk/menubar.py:267 msgid "A&dd to favorites" msgstr "&Добавить в избранное" -#: pysollib/tk/menubar.py:269 +#: pysollib/tk/menubar.py:268 msgid "R&emove from favorites" msgstr "&Удалить из избранных" -#: pysollib/tk/menubar.py:271 +#: pysollib/tk/menubar.py:270 msgid "&Open..." msgstr "&Открыть..." -#: pysollib/tk/menubar.py:272 +#: pysollib/tk/menubar.py:271 msgid "&Save" msgstr "&Сохранить" -#: pysollib/tk/menubar.py:273 +#: pysollib/tk/menubar.py:272 msgid "Save &as..." msgstr "Сохранить &как..." -#: pysollib/tk/menubar.py:275 +#: pysollib/tk/menubar.py:274 msgid "&Hold and quit" msgstr "Со&храниться и выйти" -#: pysollib/tk/menubar.py:280 pysollib/tk/selectgame.py:407 +#: pysollib/tk/menubar.py:279 pysollib/tk/selectgame.py:407 msgid "&Select" msgstr "&Выбрать" -#: pysollib/tk/menubar.py:285 +#: pysollib/tk/menubar.py:284 msgid "&Edit" msgstr "Р&едактировать" -#: pysollib/tk/menubar.py:286 +#: pysollib/tk/menubar.py:285 msgid "&Undo" msgstr "&Отмена" -#: pysollib/tk/menubar.py:287 +#: pysollib/tk/menubar.py:286 msgid "&Redo" msgstr "&Повтор" -#: pysollib/tk/menubar.py:288 +#: pysollib/tk/menubar.py:287 msgid "Redo &all" msgstr "Вернуть все" -#: pysollib/tk/menubar.py:291 +#: pysollib/tk/menubar.py:290 msgid "&Set bookmark" msgstr "Установить &закладку" -#: pysollib/tk/menubar.py:293 pysollib/tk/menubar.py:297 +#: pysollib/tk/menubar.py:292 pysollib/tk/menubar.py:296 msgid "Bookmark %d" msgstr "Закладка %d" -#: pysollib/tk/menubar.py:295 +#: pysollib/tk/menubar.py:294 msgid "Go&to bookmark" msgstr "&Перейти к закладке" -#: pysollib/tk/menubar.py:300 +#: pysollib/tk/menubar.py:299 msgid "&Clear bookmarks" msgstr "О&чистить закладки" -#: pysollib/tk/menubar.py:303 -msgid "Restart &game" -msgstr "&Начать с начала" +#: pysollib/tk/menubar.py:302 pysollib/tk/toolbar.py:198 +msgid "Restart" +msgstr "Начало" -#: pysollib/tk/menubar.py:305 +#: pysollib/tk/menubar.py:304 msgid "&Game" msgstr "&Игра" -#: pysollib/tk/menubar.py:306 +#: pysollib/tk/menubar.py:305 msgid "&Deal cards" msgstr "&Сдать карты" -#: pysollib/tk/menubar.py:307 +#: pysollib/tk/menubar.py:306 msgid "&Auto drop" msgstr "С&бросить карты" -#: pysollib/tk/menubar.py:308 +#: pysollib/tk/menubar.py:307 msgid "&Pause" msgstr "&Пауза" -#: pysollib/tk/menubar.py:311 +#: pysollib/tk/menubar.py:310 msgid "S&tatus..." msgstr "С&татус" -#: pysollib/tk/menubar.py:312 +#: pysollib/tk/menubar.py:311 msgid "&Comments..." msgstr "&Комментарии..." -#: pysollib/tk/menubar.py:314 +#: pysollib/tk/menubar.py:313 msgid "&Statistics" msgstr "Ст&атистика" -#: pysollib/tk/menubar.py:315 pysollib/tk/menubar.py:323 +#: pysollib/tk/menubar.py:314 pysollib/tk/menubar.py:322 msgid "Current game..." msgstr "Текущая игра..." -#: pysollib/tk/menubar.py:316 pysollib/tk/menubar.py:324 +#: pysollib/tk/menubar.py:315 pysollib/tk/menubar.py:323 msgid "All games..." msgstr "Все игры..." -#: pysollib/tk/menubar.py:318 +#: pysollib/tk/menubar.py:317 msgid "Session log..." msgstr "Лог сессии..." -#: pysollib/tk/menubar.py:319 +#: pysollib/tk/menubar.py:318 msgid "Full log..." msgstr "Полный лог..." -#: pysollib/tk/menubar.py:322 +#: pysollib/tk/menubar.py:321 msgid "D&emo statistics" msgstr "Статистика демо" -#: pysollib/tk/menubar.py:326 +#: pysollib/tk/menubar.py:325 msgid "&Assist" msgstr "&Подсказка" -#: pysollib/tk/menubar.py:327 +#: pysollib/tk/menubar.py:326 msgid "&Hint" msgstr "Подсказать &ход" -#: pysollib/tk/menubar.py:328 +#: pysollib/tk/menubar.py:327 msgid "Highlight p&iles" msgstr "П&оказать группы" -#: pysollib/tk/menubar.py:331 +#: pysollib/tk/menubar.py:330 msgid "&Demo" msgstr "&Демо" -#: pysollib/tk/menubar.py:332 +#: pysollib/tk/menubar.py:331 msgid "Demo (&all games)" msgstr "Демо (&все игры)" -#: pysollib/tk/menubar.py:334 +#: pysollib/tk/menubar.py:333 msgid "Piles description" msgstr "Описания ячеек" -#: pysollib/tk/menubar.py:338 +#: pysollib/tk/menubar.py:337 msgid "&Options" msgstr "&Настройка" -#: pysollib/tk/menubar.py:339 +#: pysollib/tk/menubar.py:338 msgid "&Player options..." msgstr "Настройки &игрока..." -#: pysollib/tk/menubar.py:340 +#: pysollib/tk/menubar.py:339 msgid "&Automatic play" msgstr "Настройки &автоматической игры" -#: pysollib/tk/menubar.py:341 +#: pysollib/tk/menubar.py:340 msgid "Auto &face up" msgstr "Автоматически &переворачивать" -#: pysollib/tk/menubar.py:342 +#: pysollib/tk/menubar.py:341 msgid "A&uto drop" msgstr "А&втоматически сбрасывать карты" -#: pysollib/tk/menubar.py:343 +#: pysollib/tk/menubar.py:342 msgid "Auto &deal" msgstr "Автоматически &сдавать карты" -#: pysollib/tk/menubar.py:345 +#: pysollib/tk/menubar.py:344 msgid "&Quick play" msgstr "&Быстрая игра" -#: pysollib/tk/menubar.py:346 +#: pysollib/tk/menubar.py:345 msgid "Assist &level" msgstr "&Уровень подсказки" -#: pysollib/tk/menubar.py:347 +#: pysollib/tk/menubar.py:346 msgid "Enable &undo" msgstr "Разрешить &возврат хода" -#: pysollib/tk/menubar.py:348 +#: pysollib/tk/menubar.py:347 msgid "Enable &bookmarks" msgstr "Разрешить &закладки" -#: pysollib/tk/menubar.py:349 +#: pysollib/tk/menubar.py:348 msgid "Enable &hint" msgstr "Разрешить &подсказки" -#: pysollib/tk/menubar.py:350 +#: pysollib/tk/menubar.py:349 msgid "Enable highlight p&iles" msgstr "Разрешить показывать к&учи" -#: pysollib/tk/menubar.py:351 +#: pysollib/tk/menubar.py:350 msgid "Enable highlight &cards" msgstr "Разрешить показывать &карты" -#: pysollib/tk/menubar.py:352 +#: pysollib/tk/menubar.py:351 msgid "Enable highlight same &rank" msgstr "Разрешить показывать карты &одного достоинства" -#: pysollib/tk/menubar.py:353 +#: pysollib/tk/menubar.py:352 msgid "Highlight &no matching" msgstr "Подсветка отсутствия &совпадения" -#: pysollib/tk/menubar.py:355 +#: pysollib/tk/menubar.py:354 msgid "&Show removed tiles (in Mahjongg games)" msgstr "Показывать удаленные (в Маджонг)" -#: pysollib/tk/menubar.py:356 +#: pysollib/tk/menubar.py:355 msgid "Show hint &arrow (in Shisen-Sho games)" msgstr "Показывать стрелку (в Шисен-Сё)" -#: pysollib/tk/menubar.py:358 +#: pysollib/tk/menubar.py:357 msgid "&Sound..." msgstr "&Звук..." -#: pysollib/tk/menubar.py:366 +#: pysollib/tk/menubar.py:365 msgid "Cards&et..." msgstr "Коло&да..." -#: pysollib/tk/menubar.py:367 +#: pysollib/tk/menubar.py:366 msgid "Table t&ile..." msgstr "Игровой &стол..." -#: pysollib/tk/menubar.py:369 +#: pysollib/tk/menubar.py:368 msgid "Card &background" msgstr "&Рубашка карты" -#: pysollib/tk/menubar.py:370 +#: pysollib/tk/menubar.py:369 msgid "Card &view" msgstr "&Вид карты" -#: pysollib/tk/menubar.py:371 +#: pysollib/tk/menubar.py:370 msgid "Card shado&w" msgstr "Тень карты" -#: pysollib/tk/menubar.py:372 +#: pysollib/tk/menubar.py:371 msgid "Shade &legal moves" msgstr "Подсвечивать &разрешенные ходы" -#: pysollib/tk/menubar.py:373 +#: pysollib/tk/menubar.py:372 msgid "&Negative cards bottom" msgstr "&Негативные контуры карты" -#: pysollib/tk/menubar.py:374 +#: pysollib/tk/menubar.py:373 msgid "Shrink face-down cards" msgstr "Сжимать закрытые карты" -#: pysollib/tk/menubar.py:375 +#: pysollib/tk/menubar.py:374 msgid "Shade &filled stacks" msgstr "Затемнять заполненные ячейки" -#: pysollib/tk/menubar.py:376 +#: pysollib/tk/menubar.py:375 msgid "A&nimations" msgstr "Анимаци&я" -#: pysollib/tk/menubar.py:377 +#: pysollib/tk/menubar.py:376 msgid "&None" msgstr "&Нет" -#: pysollib/tk/menubar.py:378 +#: pysollib/tk/menubar.py:377 msgid "&Timer based" msgstr "Базирующаяся на &таймере" -#: pysollib/tk/menubar.py:379 +#: pysollib/tk/menubar.py:378 msgid "&Fast" msgstr "&Быстрая" -#: pysollib/tk/menubar.py:380 +#: pysollib/tk/menubar.py:379 msgid "&Slow" msgstr "&Медленная" -#: pysollib/tk/menubar.py:381 +#: pysollib/tk/menubar.py:380 msgid "&Very slow" msgstr "&Очень медленная" -#: pysollib/tk/menubar.py:382 +#: pysollib/tk/menubar.py:381 msgid "Stick&y mouse" msgstr "&Липкая мышь" -#: pysollib/tk/menubar.py:383 +#: pysollib/tk/menubar.py:382 msgid "Use mouse for undo/redo" msgstr "Использовать мышь для вперед/назад" -#: pysollib/tk/menubar.py:385 +#: pysollib/tk/menubar.py:384 msgid "&Fonts..." msgstr "&Шрифты..." -#: pysollib/tk/menubar.py:386 +#: pysollib/tk/menubar.py:385 msgid "&Colors..." msgstr "&Цвета..." -#: pysollib/tk/menubar.py:387 +#: pysollib/tk/menubar.py:386 msgid "Time&outs..." msgstr "Тайма&уты..." -#: pysollib/tk/menubar.py:389 +#: pysollib/tk/menubar.py:388 msgid "&Toolbar" msgstr "Панель и&нструментов" -#: pysollib/tk/menubar.py:391 +#: pysollib/tk/menubar.py:390 msgid "Stat&usbar" msgstr "Панель с&остояния" -#: pysollib/tk/menubar.py:392 +#: pysollib/tk/menubar.py:391 msgid "Show &statusbar" msgstr "Показывать панель состояния" -#: pysollib/tk/menubar.py:393 +#: pysollib/tk/menubar.py:392 msgid "Show &number of cards" msgstr "Показывать количество карт" -#: pysollib/tk/menubar.py:394 +#: pysollib/tk/menubar.py:393 msgid "Show &help bar" msgstr "Показывать панель помощи" -#: pysollib/tk/menubar.py:395 +#: pysollib/tk/menubar.py:394 msgid "Save games &geometry" msgstr "Сохранение &геометрии игры" -#: pysollib/tk/menubar.py:396 +#: pysollib/tk/menubar.py:395 msgid "&Demo logo" msgstr "Д&емо лого" -#: pysollib/tk/menubar.py:397 +#: pysollib/tk/menubar.py:396 msgid "Startup splash sc&reen" msgstr "О&кно запуска" -#: pysollib/tk/menubar.py:403 +#: pysollib/tk/menubar.py:402 msgid "&Help" msgstr "&Помощь" -#: pysollib/tk/menubar.py:404 +#: pysollib/tk/menubar.py:403 msgid "&Contents" msgstr "&Содержание" -#: pysollib/tk/menubar.py:405 +#: pysollib/tk/menubar.py:404 msgid "&How to play" msgstr "Как &играть" -#: pysollib/tk/menubar.py:406 +#: pysollib/tk/menubar.py:405 msgid "&Rules for this game" msgstr "&Правила текущей игры" -#: pysollib/tk/menubar.py:407 +#: pysollib/tk/menubar.py:406 msgid "&License terms" msgstr "&Лицензия" -#: pysollib/tk/menubar.py:410 +#: pysollib/tk/menubar.py:409 msgid "&About " msgstr "&О программе " -#: pysollib/tk/menubar.py:522 +#: pysollib/tk/menubar.py:521 msgid "All &games..." msgstr "&Все игры..." -#: pysollib/tk/menubar.py:524 +#: pysollib/tk/menubar.py:523 msgid "Playable pre&view..." msgstr "Играемый &предпросмотр..." -#: pysollib/tk/menubar.py:573 +#: pysollib/tk/menubar.py:572 msgid "&Mahjongg games" msgstr "Игры маджонг" -#: pysollib/tk/menubar.py:611 +#: pysollib/tk/menubar.py:610 msgid "&Popular games" msgstr "&Популярные игры" -#: pysollib/tk/menubar.py:619 +#: pysollib/tk/menubar.py:618 msgid "&French games" msgstr "&Классические игры" -#: pysollib/tk/menubar.py:626 +#: pysollib/tk/menubar.py:625 msgid "&Oriental games" msgstr "&Восточные игры" -#: pysollib/tk/menubar.py:634 +#: pysollib/tk/menubar.py:633 msgid "&Special games" msgstr "&Особые игры" -#: pysollib/tk/menubar.py:640 -msgid "All games by name" -msgstr "Все игры по имени" +#: pysollib/tk/menubar.py:639 +msgid "&All games by name" +msgstr "&Все игры по имени" -#: pysollib/tk/menubar.py:894 pysollib/tk/menubar.py:896 +#: pysollib/tk/menubar.py:1000 pysollib/tk/menubar.py:1002 #: pysollib/tk/selectcardset.py:240 msgid "&Load" msgstr "&Загрузить" -#: pysollib/tk/menubar.py:896 +#: pysollib/tk/menubar.py:1002 msgid "&Info..." msgstr "&Информация..." -#: pysollib/tk/menubar.py:899 +#: pysollib/tk/menubar.py:1005 msgid "Select " msgstr "Выбрать " -#: pysollib/tk/menubar.py:960 +#: pysollib/tk/menubar.py:1066 msgid "Select table background" msgstr "Выбрать фоновое изображение" -#: pysollib/tk/menubar.py:972 pysollib/tk/selecttile.py:177 -msgid "Select table color" -msgstr "Выбрать цвет" - #: pysollib/tk/playeroptionsdialog.py:112 msgid "" "\n" @@ -2972,6 +2968,10 @@ msgstr "Все фоновые изображения" msgid "&Solid color..." msgstr "М&онотонный цвет..." +#: pysollib/tk/selecttile.py:177 +msgid "Select table color" +msgstr "Выбрать цвет" + #: pysollib/tk/soundoptionsdialog.py:75 msgid "Are You Sure" msgstr "Вы уверены" @@ -3080,11 +3080,11 @@ msgstr "" "Изменения установок DirectX вступят в силу\n" "при следующем запуске " -#: pysollib/tk/statusbar.py:158 +#: pysollib/tk/statusbar.py:157 msgid "Moves/Total moves" msgstr "Ходов/Всего ходов" -#: pysollib/tk/statusbar.py:160 +#: pysollib/tk/statusbar.py:159 msgid "Games played: won/lost" msgstr "Игр: выиграно/проиграно" @@ -3108,35 +3108,35 @@ msgstr "Подсветка карты:" msgid "Highlight same rank:" msgstr "Подсветка одинаковых карт:" -#: pysollib/tk/tkconst.py:104 +#: pysollib/tk/tkconst.py:101 msgid "Icons only" msgstr "Только пиктограммы" -#: pysollib/tk/tkconst.py:105 +#: pysollib/tk/tkconst.py:102 msgid "Text below icons" msgstr "Текст под пиктограммами" -#: pysollib/tk/tkconst.py:106 +#: pysollib/tk/tkconst.py:103 msgid "Text beside icons" msgstr "Текст рядом с пиктограммами" -#: pysollib/tk/tkconst.py:107 +#: pysollib/tk/tkconst.py:104 msgid "Text only" msgstr "Только текст" -#: pysollib/tk/tkhtml.py:251 +#: pysollib/tk/tkhtml.py:252 msgid "Index" msgstr "Индекс" -#: pysollib/tk/tkhtml.py:255 +#: pysollib/tk/tkhtml.py:256 msgid "Back" msgstr "Назад" -#: pysollib/tk/tkhtml.py:259 +#: pysollib/tk/tkhtml.py:260 msgid "Forward" msgstr "Вперед" -#: pysollib/tk/tkhtml.py:263 +#: pysollib/tk/tkhtml.py:264 msgid "Close" msgstr "Закрыть" @@ -3333,10 +3333,6 @@ msgstr "TOP для текущей игры отсутствует" msgid "New" msgstr "Новая" -#: pysollib/tk/toolbar.py:198 -msgid "Restart" -msgstr "Начало" - #: pysollib/tk/toolbar.py:198 msgid "" "Restart the\n" @@ -3417,34 +3413,65 @@ msgstr "Установки игрока" msgid "Toolbar" msgstr "Панель инструментов" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Club" msgstr "Треф" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Diamond" msgstr "Буби" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Heart" msgstr "Черви" -#: pysollib/util.py:76 +#: pysollib/util.py:75 msgid "Spade" msgstr "Пики" -#: pysollib/util.py:77 +#: pysollib/util.py:76 msgid "black" msgstr "черный" -#: pysollib/util.py:77 +#: pysollib/util.py:76 msgid "red" msgstr "красный" -#: pysollib/util.py:102 +#: pysollib/util.py:101 msgid "cardset" msgstr "набор карт" +#: data/glade-translations:7 +msgid "Game Statistics" +msgstr "Статистика игры" + +#: data/glade-translations:8 data/glade-translations:28 +msgid "Game:" +msgstr "Игра:" + +#: data/glade-translations:17 +msgid "Current game" +msgstr "Текущая игра" + +#: data/glade-translations:24 +msgid "Summary" +msgstr "Сводка" + +#: data/glade-translations:27 +msgid "Total moves" +msgstr "Всего ходов" + +#: data/glade-translations:30 +msgid "All games" +msgstr "Все игры" + +#: data/glade-translations:57 +msgid "Set font" +msgstr "Настроить шрифт" + +#~ msgid "Restart &game" +#~ msgstr "&Начать с начала" + #~ msgid "Balance $%4d" #~ msgstr "Баланс $%4d" diff --git a/pysollib/actions.py b/pysollib/actions.py index 5a0b06c1..a91fa60d 100644 --- a/pysollib/actions.py +++ b/pysollib/actions.py @@ -1,4 +1,3 @@ -## -*- coding: utf-8 -*- ## vim:ts=4:et:nowrap ## ##---------------------------------------------------------------------------## @@ -42,7 +41,6 @@ import os, re, sys, string, time, types, locale from mfxutil import EnvError, SubclassResponsibility from mfxutil import Struct, destruct, openURL from pysolrandom import constructRandom -from version import VERSION from settings import PACKAGE, PACKAGE_URL from settings import TOP_TITLE from gamedb import GI @@ -68,7 +66,7 @@ from pysoltk import FontsDialog from pysoltk import EditTextDialog from pysoltk import TOOLBAR_BUTTONS from pysoltk import create_find_card_dialog, connect_game_find_card_dialog, destroy_find_card_dialog -from help import helpAbout, helpHTML +from help import help_about, help_html gettext = _ @@ -875,11 +873,11 @@ class PysolMenubarActions: def mHelp(self, *args): if self._cancelDrag(break_pause=False): return - helpHTML(self.app, "index.html", "html") + help_html(self.app, "index.html", "html") def mHelpHowToPlay(self, *args): if self._cancelDrag(break_pause=False): return - helpHTML(self.app, "howtoplay.html", "html") + help_html(self.app, "howtoplay.html", "html") def mHelpRules(self, *args): if self._cancelDrag(break_pause=False): return @@ -887,22 +885,22 @@ class PysolMenubarActions: return dir = os.path.join("html", "rules") ## FIXME: plugins - helpHTML(self.app, self.app.getGameRulesFilename(self.game.id), dir) + help_html(self.app, self.app.getGameRulesFilename(self.game.id), dir) def mHelpLicense(self, *args): if self._cancelDrag(break_pause=False): return - helpHTML(self.app, "license.html", "html") + help_html(self.app, "license.html", "html") def mHelpNews(self, *args): if self._cancelDrag(break_pause=False): return - helpHTML(self.app, "news.html", "html") + help_html(self.app, "news.html", "html") def mHelpWebSite(self, *args): openURL(PACKAGE_URL) def mHelpAbout(self, *args): if self._cancelDrag(break_pause=False): return - helpAbout(self.app) + help_about(self.app) # # misc diff --git a/pysollib/app.py b/pysollib/app.py index 0ebdd5eb..3af70717 100644 --- a/pysollib/app.py +++ b/pysollib/app.py @@ -45,8 +45,7 @@ from mfxutil import getusername, gethomedir, getprefdir, EnvError from mfxutil import latin1_to_ascii from util import Timer from util import CARDSET, IMAGE_EXTENSIONS -from version import VERSION, VERSION_TUPLE -from settings import PACKAGE, PACKAGE_URL +from settings import PACKAGE, PACKAGE_URL, VERSION, VERSION_TUPLE from resource import CSI, CardsetConfig, Cardset, CardsetManager from resource import Tile, TileManager from resource import Sample, SampleManager @@ -67,10 +66,10 @@ from pysoltk import PysolToolbar from pysoltk import PysolStatusbar, HelpStatusbar from pysoltk import SelectCardsetDialogWithPreview from pysoltk import SelectDialogTreeData -from pysoltk import tkHTMLViewer +from pysoltk import HTMLViewer from pysoltk import TOOLBAR_BUTTONS from pysoltk import destroy_find_card_dialog -from help import helpAbout, destroy_help +from help import help_about, destroy_help_html gettext = _ @@ -714,7 +713,7 @@ class Application: self.wm_withdraw() # destroy_find_card_dialog() - destroy_help() + destroy_help_html() # update options self.opt.last_gameid = id # save options @@ -792,7 +791,7 @@ class Application: self.nextgame.bookmark = None # splash screen if self.opt.splashscreen and self.splashscreen > 0: - status = helpAbout(self, timeout=20000, sound=0) + status = help_about(self, timeout=20000, sound=0) if status == 2: # timeout - start a demo if autoplay: self.nextgame.startdemo = 1 @@ -901,7 +900,7 @@ class Application: dir = os.path.join('images', 'htmlviewer') # fn = self.dataloader.findImage('disk', dir) - tkHTMLViewer.symbols_fn['disk'] = fn + HTMLViewer.symbols_fn['disk'] = fn def loadImages4(self): # load all remaining images diff --git a/pysollib/game.py b/pysollib/game.py index 3a1d7508..e3c10b05 100644 --- a/pysollib/game.py +++ b/pysollib/game.py @@ -45,8 +45,7 @@ from mfxutil import UnpicklingError, uclock, usleep from mfxutil import format_time from util import get_version_tuple, Timer from util import ACE, QUEEN, KING -from version import VERSION, VERSION_TUPLE -from settings import PACKAGE, TOOLKIT, TOP_TITLE +from settings import PACKAGE, TOOLKIT, TOP_TITLE, VERSION, VERSION_TUPLE from gamedb import GI from resource import CSI from pysolrandom import PysolRandom, LCRandom31 @@ -63,7 +62,7 @@ from move import ANextRoundMove, ASaveSeedMove, AShuffleStackMove from move import AUpdateStackMove, AFlipAllMove, ASaveStateMove from move import ACloseStackMove, ASingleCardMove from hint import DefaultHint -from help import helpAbout +from help import help_about PLAY_TIME_TIMEOUT = 200 @@ -1891,7 +1890,7 @@ for %d moves. self.app.demo_counter = self.app.demo_counter + 1 if self.app.demo_counter % 3 == 0: if self.top.winfo_ismapped(): - status = helpAbout(self.app, timeout=10000) + status = help_about(self.app, timeout=10000) if self.demo and status == 2: # timeout in dialog - start another demo demo = self.demo diff --git a/pysollib/games/calculation.py b/pysollib/games/calculation.py index 8cfad24d..f4a82c92 100644 --- a/pysollib/games/calculation.py +++ b/pysollib/games/calculation.py @@ -41,7 +41,7 @@ from pysollib.stack import * from pysollib.game import Game from pysollib.layout import Layout from pysollib.hint import AbstractHint, DefaultHint, CautiousDefaultHint -from pysollib.pysoltk import MfxCanvasText, getTextWidth +from pysollib.pysoltk import MfxCanvasText, get_text_width # /*********************************************************************** # // @@ -127,8 +127,8 @@ class Calculation(Game): lines = help.split('\n') lines.sort(lambda a, b: cmp(len(a), len(b))) max_line = lines[-1] - text_width = getTextWidth(max_line, - font=self.app.getFont("canvas_fixed")) + text_width = get_text_width(max_line, + font=self.app.getFont("canvas_fixed")) return help, text_width def createGame(self): diff --git a/pysollib/games/mahjongg/mahjongg.py b/pysollib/games/mahjongg/mahjongg.py index c994ce7d..379be556 100644 --- a/pysollib/games/mahjongg/mahjongg.py +++ b/pysollib/games/mahjongg/mahjongg.py @@ -40,6 +40,7 @@ from pysollib.layout import Layout from pysollib.hint import AbstractHint, DefaultHint, CautiousDefaultHint from pysollib.pysoltk import MfxCanvasText, MfxCanvasImage, bind, \ EVENT_HANDLED, ANCHOR_NW +from pysollib.settings import TOOLKIT def factorial(x): @@ -191,14 +192,20 @@ class Mahjongg_RowStack(OpenStack): def _position(self, card): OpenStack._position(self, card) # - rows = filter(lambda s: s.cards, self.game.s.rows[:self.id]) - if rows: - self.group.tkraise(rows[-1].group) - return - rows = filter(lambda s: s.cards, self.game.s.rows[self.id+1:]) - if rows: - self.group.lower(rows[0].group) - return + if TOOLKIT == 'tk': + rows = filter(lambda s: s.cards, self.game.s.rows[:self.id]) + if rows: + self.group.tkraise(rows[-1].group) + return + rows = filter(lambda s: s.cards, self.game.s.rows[self.id+1:]) + if rows: + self.group.lower(rows[0].group) + return + elif TOOLKIT == 'gtk': + # FIXME (this is very slow) + for s in self.game.s.rows[self.id+1:]: + s.group.tkraise() + # In Mahjongg games type there are a lot of stacks, so we optimize # and don't create bindings that are not used anyway. @@ -259,16 +266,16 @@ class Mahjongg_RowStack(OpenStack): img = drag.shade_img img.dtag(drag.shade_stack.group) img.moveTo(self.x, self.y) + img.addtag(self.group) else: img = game.app.images.getShade() if img is None: return 1 - img = MfxCanvasImage(game.canvas, self.x, self.y, - image=img, anchor=ANCHOR_NW) + img = MfxCanvasImage(game.canvas, self.x, self.y, image=img, + anchor=ANCHOR_NW, group=self.group) drag.shade_img = img # raise/lower the shade image to the correct stacking order img.tkraise(self.cards[-1].item) - img.addtag(self.group) drag.shade_stack = self return 1 @@ -462,8 +469,13 @@ class AbstractMahjonggGame(Game): x = l.XM+i*cardw y = l.YM+fdyy+j*cardh else: - x = -l.XS - y = l.YM+dyy + if TOOLKIT == 'tk': + x = -l.XS + y = l.YM+dyy + elif TOOLKIT == 'gtk': + # FIXME + x = self.width -l.XS + y = self.height - l.YS stack = Mahjongg_Foundation(x, y, self) if show_removed: stack.CARD_XOFFSET = dx diff --git a/pysollib/help.py b/pysollib/help.py index 28dfeca4..5a51aee5 100644 --- a/pysollib/help.py +++ b/pysollib/help.py @@ -41,11 +41,10 @@ import Tkinter # PySol imports from mfxutil import EnvError -from settings import PACKAGE, PACKAGE_URL, TOOLKIT -from version import VERSION, FC_VERSION -from pysoltk import makeHelpToplevel, wm_map, wm_set_icon +from settings import PACKAGE, PACKAGE_URL, TOOLKIT, VERSION, FC_VERSION +from pysoltk import make_help_toplevel, wm_map, wm_set_icon from pysoltk import MfxMessageDialog -from pysoltk import tkHTMLViewer +from pysoltk import HTMLViewer from gamedb import GAME_DB # /*********************************************************************** @@ -58,7 +57,7 @@ class AboutDialog(MfxMessageDialog): return top_frame, bottom_frame -def helpAbout(app, timeout=0, sound=1): +def help_about(app, timeout=0, sound=1): if sound: app.audio.playSample("about") t = _("A Python Solitaire Game Collection\n") @@ -87,18 +86,18 @@ For more information about this application visit strings=strings, default=0, separatorwidth=2) if d.status == 0 and d.button == 1: - helpCredits(app, sound=sound) + help_credits(app, sound=sound) return d.status -def helpCredits(app, timeout=0, sound=1): +def help_credits(app, timeout=0, sound=1): if sound: app.audio.playSample("credits") t = "" - if TOOLKIT == "tk": t = "Tcl/Tk, " - elif TOOLKIT == "gtk": t = "PyGTK, " - elif TOOLKIT == "kde": t = "pyKDE, " - elif TOOLKIT == "wx": t = "wxPython, " + if TOOLKIT == "tk" : t = "Tcl/Tk" + elif TOOLKIT == "gtk": t = "PyGTK" + elif TOOLKIT == "kde": t = "pyKDE" + elif TOOLKIT == "wx" : t = "wxPython" d = MfxMessageDialog(app.top, title=_("Credits"), timeout=timeout, text=PACKAGE+_(''' credits go to: @@ -123,7 +122,7 @@ for making this program possible''') % t, help_html_viewer = None help_html_index = None -def helpHTML(app, document, dir_, top=None): +def help_html(app, document, dir_, top=None): global help_html_viewer, help_html_index if not document: return None @@ -149,7 +148,7 @@ def helpHTML(app, document, dir_, top=None): viewer.display(doc, relpath=0) except: ##traceback.print_exc() - top = makeHelpToplevel(app, title=PACKAGE+_(" Help")) + top = make_help_toplevel(app, title=PACKAGE+_(" Help")) if top.winfo_screenwidth() < 800 or top.winfo_screenheight() < 600: #maximized = 1 top.wm_minsize(300, 150) @@ -160,14 +159,14 @@ def helpHTML(app, document, dir_, top=None): wm_set_icon(top, app.dataloader.findIcon()) except: pass - viewer = tkHTMLViewer(top, app, help_html_index) + viewer = HTMLViewer(top, app, help_html_index) viewer.display(doc) #wm_map(top, maximized=maximized) viewer.parent.tkraise() help_html_viewer = viewer return viewer -def destroy_help(): +def destroy_help_html(): try: help_html_viewer.destroy() except: diff --git a/pysollib/images.py b/pysollib/images.py index 091c0ff7..3a2995a4 100644 --- a/pysollib/images.py +++ b/pysollib/images.py @@ -38,7 +38,6 @@ import os, types # PySol imports -from version import VERSION, VERSION_TUPLE from mfxutil import Pickler, Unpickler, UnpicklingError from mfxutil import Struct, EnvError diff --git a/pysollib/main.py b/pysollib/main.py index 6f1dab6f..a4e1dcb8 100644 --- a/pysollib/main.py +++ b/pysollib/main.py @@ -43,8 +43,7 @@ import gettext # PySol imports from mfxutil import destruct, EnvError from util import CARDSET, DataLoader -from version import VERSION -from settings import PACKAGE, TOOLKIT +from settings import PACKAGE, TOOLKIT, VERSION from resource import Tile from gamedb import GI from app import Application diff --git a/pysollib/pysolgtk/colorsdialog.py b/pysollib/pysolgtk/colorsdialog.py index d7fefbbc..ac8e6818 100644 --- a/pysollib/pysolgtk/colorsdialog.py +++ b/pysollib/pysolgtk/colorsdialog.py @@ -40,15 +40,6 @@ gettext = _ class ColorsDialog: -## self.app.opt.table_text_color = d.table_text_color -## self.app.opt.table_text_color_value = d.table_text_color_value -## ##self.app.opt.table_color = d.table_color -## self.app.opt.highlight_piles_colors = d.highlight_piles_colors -## self.app.opt.highlight_cards_colors = d.highlight_cards_colors -## self.app.opt.highlight_samerank_colors = d.highlight_samerank_colors -## self.app.opt.hintarrow_color = d.hintarrow_color -## self.app.opt.highlight_not_matching_color = d.highlight_not_matching_color - def __init__(self, parent, title, app, **kw): glade_file = app.dataloader.findFile('pysolfc.glade') @@ -65,10 +56,9 @@ class ColorsDialog: 'not_matching', ) for n in keys: - label = self.widgets_tree.get_widget(n+'_label') - self._setColor(label, app.opt.colors[n]) + self._setColor(n, app.opt.colors[n]) button = self.widgets_tree.get_widget(n+'_button') - button.connect('clicked', self._changeColor, n, label) + button.connect('clicked', self._changeColor, n) checkbutton = self.widgets_tree.get_widget('use_default_checkbutton') checkbutton.set_active(not app.opt.use_default_text_color) @@ -78,7 +68,6 @@ class ColorsDialog: self.dialog = dialog dialog.set_title(title) dialog.set_transient_for(parent) - dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT) self.status = -1 self.button = -1 @@ -95,16 +84,16 @@ class ColorsDialog: dialog.destroy() - def _setColor(self, label, color): - c = gdk.color_parse(color) - al = pango.AttrList() - al.insert(pango.AttrBackground(c.red, c.green, c.blue, 0, 10)) - label.set_attributes(al) + def _setColor(self, name, color): + label = self.widgets_tree.get_widget(name+'_label') + eventbox = self.widgets_tree.get_widget(name+'_eventbox') + eventbox.modify_bg(gtk.STATE_NORMAL, gdk.color_parse(color)) label.set_data('user_data', color) + label.set_text(color) - def _changeColor(self, w, name, label): - print '_changeColor', name + def _changeColor(self, w, name): + label = self.widgets_tree.get_widget(name+'_label') color = label.get_data('user_data') dialog = gtk.ColorSelectionDialog(_('Select color')) dialog.help_button.destroy() @@ -115,7 +104,7 @@ class ColorsDialog: if response == gtk.RESPONSE_OK: c = dialog.colorsel.get_current_color() c = '#%02x%02x%02x' % (c.red/256, c.green/256, c.blue/256) - self._setColor(label, c) + self._setColor(name, c) dialog.destroy() @@ -128,8 +117,17 @@ class ColorsDialog: 'label35', 'label36', 'label37', + 'label46', + 'label47', + 'label48', + 'label49', + 'label50', + 'label51', + 'label52', + 'label53', ): w = self.widgets_tree.get_widget(n) w.set_text(gettext(w.get_text())) - + w = self.widgets_tree.get_widget('use_default_checkbutton') + w.set_label(gettext(w.get_label())) diff --git a/pysollib/pysolgtk/fontsdialog.py b/pysollib/pysolgtk/fontsdialog.py index d99e4853..67211c8a 100644 --- a/pysollib/pysolgtk/fontsdialog.py +++ b/pysollib/pysolgtk/fontsdialog.py @@ -24,26 +24,128 @@ __all__ = ['FontsDialog'] # imports ## import os, sys ## import types -## import Tkinter -## import tkFont import gtk, gobject, pango import gtk.glade # PySol imports -## from pysollib.mfxutil import destruct, kwdefault, KwStruct, Struct + +from tkutil import create_pango_font_desc # Toolkit imports -## from tkconst import EVENT_HANDLED, EVENT_PROPAGATE -## from tkutil import bind +gettext = _ + # /*********************************************************************** # // # ************************************************************************/ class FontsDialog: + def __init__(self, parent, title, app, **kw): - pass + glade_file = app.dataloader.findFile('pysolfc.glade') + self.widgets_tree = gtk.glade.XML(glade_file) + + keys = ( + 'sans', + 'small', + 'fixed', + 'canvas_default', + 'canvas_fixed', + 'canvas_large', + 'canvas_small', + ) + + for n in keys: + font = app.opt.fonts[n] + self._setFont(n, font) + button = self.widgets_tree.get_widget(n+'_button') + button.connect('clicked', self._changeFont, n) + + self._translateLabels() + + dialog = self.widgets_tree.get_widget('fonts_dialog') + self.dialog = dialog + dialog.set_title(title) + dialog.set_transient_for(parent) + + self.status = -1 + self.button = -1 + self.fonts = {} + response = dialog.run() + if response == gtk.RESPONSE_OK: + self.status = 0 + self.button = 0 + for n in keys: + label = self.widgets_tree.get_widget(n+'_label') + font = label.get_data('user_data') + self.fonts[n] = font + + dialog.destroy() + + + def _setFont(self, name, font): + label = self.widgets_tree.get_widget(name+'_label') + font_desc = create_pango_font_desc(font) + label.modify_font(font_desc) + text = ' '.join([str(i) for i in font if not i in ('roman', 'normal')]) + label.set_text(text) + label.set_data('user_data', font) + + + def _changeFont(self, w, name): + label = self.widgets_tree.get_widget(name+'_label') + font = label.get_data('user_data') + dialog = gtk.FontSelectionDialog(_('Select color')) + dialog.set_transient_for(self.dialog) + dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT) + font_name = font[0] + bi = [] + if 'bold' in font: + bi.append('bold') + if 'italic' in font: + bi.append('italic') + if bi: + bi = ' '.join(bi) + font_name += ', '+bi + font_name += ' '+str(font[1]) + dialog.fontsel.set_font_name(font_name) + response = dialog.run() + if response == gtk.RESPONSE_OK: + font = dialog.fontsel.get_font_name() + fd = pango.FontDescription(font) + family = fd.get_family() + size = fd.get_size()/pango.SCALE + style = (fd.get_style() == pango.STYLE_NORMAL + and 'roman' or 'italic') + weight = (fd.get_weight() == pango.WEIGHT_NORMAL + and 'normal' or 'bold') + font = (family, size, style, weight) + self._setFont(name, font) + + dialog.destroy() + + + def _translateLabels(self): + for n in ( + 'label54', + 'label55', + 'label56', + 'label57', + 'label58', + 'label59', + 'label60', + 'label69', + 'label70', + 'label71', + 'label72', + 'label73', + 'label74', + 'label75', + ): + w = self.widgets_tree.get_widget(n) + w.set_text(gettext(w.get_text())) + diff --git a/pysollib/pysolgtk/menubar.py b/pysollib/pysolgtk/menubar.py index ced06062..26f817af 100644 --- a/pysollib/pysolgtk/menubar.py +++ b/pysollib/pysolgtk/menubar.py @@ -196,12 +196,15 @@ class PysolMenubar(PysolMenubarActions): ('cardset', None, ltk2gtk('Cards&et...'), 'E', None, self.mSelectCardsetDialog), - ('timeouts', None, - ltk2gtk('Time&outs...'), None, - None, self.mOptTimeouts), + ('fonts', None, + ltk2gtk('&Fonts...'), None, + None, self.mOptFonts), ('colors', None, ltk2gtk('&Colors...'), None, None, self.mOptColors), + ('timeouts', None, + ltk2gtk('Time&outs...'), None, + None, self.mOptTimeouts), ('contents', None, ltk2gtk('&Contents'), 'F1', None, self.mHelp), @@ -375,6 +378,7 @@ class PysolMenubar(PysolMenubarActions): + diff --git a/pysollib/pysolgtk/progressbar.py b/pysollib/pysolgtk/progressbar.py index 82e8e6c3..378b45ee 100644 --- a/pysollib/pysolgtk/progressbar.py +++ b/pysollib/pysolgtk/progressbar.py @@ -95,13 +95,13 @@ class PysolProgressBar: im.set_property('xpad', 10) im.set_property('ypad', 5) # set icon - if app: - try: - name = app.dataloader.findFile('pysol.xpm') - bg = self.top.get_style().bg[gtk.STATE_NORMAL] - pixmap, mask = create_pixmap_from_xpm(self.top, bg, name) - self.top.set_icon(pixmap, mask) - except: pass +## if app: +## try: +## name = app.dataloader.findFile('pysol.xpm') +## bg = self.top.get_style().bg[gtk.STATE_NORMAL] +## pixmap, mask = create_pixmap_from_xpm(self.top, bg, name) +## self.top.set_icon(pixmap, mask) +## except: pass setTransient(self.top, parent) self.top.show() self.top.window.set_cursor(gdk.Cursor(gdk.WATCH)) diff --git a/pysollib/pysolgtk/selectgame.py b/pysollib/pysolgtk/selectgame.py index f297d209..741e9418 100644 --- a/pysollib/pysolgtk/selectgame.py +++ b/pysollib/pysolgtk/selectgame.py @@ -45,7 +45,7 @@ from pysollib.mfxutil import destruct, Struct, KwStruct from pysollib.mfxutil import kwdefault from pysollib.mfxutil import format_time from pysollib.gamedb import GI -from pysollib.help import helpHTML +from pysollib.help import help_html from pysollib.resource import CSI # Toolkit imports @@ -539,7 +539,7 @@ class SelectGameDialogWithPreview(MfxDialog): if not doc: return dir = os.path.join("html", "rules") - helpHTML(self.app, doc, dir, self) + help_html(self.app, doc, dir, self) return self.status = 0 diff --git a/pysollib/pysolgtk/timeoutsdialog.py b/pysollib/pysolgtk/timeoutsdialog.py index 4d98ef31..f7793228 100644 --- a/pysollib/pysolgtk/timeoutsdialog.py +++ b/pysollib/pysolgtk/timeoutsdialog.py @@ -79,7 +79,6 @@ class TimeoutsDialog: dialog = self.widgets_tree.get_widget('timeouts_dialog') dialog.set_title(title) dialog.set_transient_for(parent) - dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT) self.status = -1 self.button = -1 diff --git a/pysollib/pysolgtk/tkcanvas.py b/pysollib/pysolgtk/tkcanvas.py index 43ff8751..0769fdfc 100644 --- a/pysollib/pysolgtk/tkcanvas.py +++ b/pysollib/pysolgtk/tkcanvas.py @@ -52,13 +52,13 @@ import os, sys, types import gobject -import gtk +import gtk, pango from gtk import gdk import gnome.canvas TRUE, FALSE = True, False # toolkit imports -from tkutil import anchor_tk2gtk, loadImage, bind +from tkutil import anchor_tk2gtk, loadImage, bind, create_pango_font_desc # /*********************************************************************** @@ -147,7 +147,7 @@ class _CanvasItem: self._is_hidden = True def connect(self, signal, func, args): - ##print signal + #print '_CanvasItem.connect:', self, signal self._item.connect('event', func, args) @@ -252,7 +252,7 @@ class MfxCanvasText(_CanvasItem): kw['fill'] = canvas._text_color for k, v in kw.items(): self[k] = v - self.text_format = None + ##~ self.text_format = None canvas._text_items.append(self) self._item.show() @@ -260,7 +260,9 @@ class MfxCanvasText(_CanvasItem): if key == 'fill': self._item.set(fill_color=value) elif key == 'font': - self._item.set(font=value) + ##print 'set font:', value + font_desc = create_pango_font_desc(value) + self._item.set(font_desc=font_desc) elif key == 'text': self._item.set(text=value) else: @@ -300,19 +302,16 @@ class MfxCanvas(gnome.canvas.Canvas): self._text_color = '#000000' # gnome.canvas.Canvas.__init__(self) - style = self.get_style().copy() - if bg is not None: - c = self.get_colormap().alloc(bg) - style.bg[gtk.STATE_NORMAL] = c - self.set_style(style) self.top_bg = top.style.bg[gtk.STATE_NORMAL] + if bg is not None: + self.modify_bg(gtk.STATE_NORMAL, gdk.color_parse(bg)) - ## + # self.top = top self.xmargin, self.ymargin = 0, 0 self.connect('size-allocate', self._sizeAllocate) - self.connect('destroy', self.destroyEvent) + ##self.connect('destroy', self.destroyEvent) def __setattr__(self, name, value): @@ -363,9 +362,7 @@ class MfxCanvas(gnome.canvas.Canvas): height, width = -1, -1 for k, v in kw.items(): if k in ('background', 'bg'): - ##print 'configure: bg:', v - c = self.get_colormap().alloc_color(v) - self.style.bg[gtk.STATE_NORMAL] = c + self.modify_bg(gtk.STATE_NORMAL, gdk.color_parse(v)) elif k == 'cursor': if not self.window: self.realize() @@ -390,9 +387,6 @@ class MfxCanvas(gnome.canvas.Canvas): i._item.destroy() ##i._item = None self._all_items = [] - if 0: #self.__tileimage: - self.__tileimage.destroy() - self.__tileimage = None def hideAllItems(self): self._hidden_items = [] diff --git a/pysollib/pysolgtk/tkhtml.py b/pysollib/pysolgtk/tkhtml.py index 607463d5..463ff81d 100644 --- a/pysollib/pysolgtk/tkhtml.py +++ b/pysollib/pysolgtk/tkhtml.py @@ -33,7 +33,7 @@ ## ##---------------------------------------------------------------------------## -__all__ = ['tkHTMLViewer'] +__all__ = ['HTMLViewer'] # imports import os, sys, re, types @@ -70,7 +70,7 @@ class tkHTMLWriter(formatter.NullWriter): formatter.NullWriter.__init__(self) self.text = text # gtk.TextBuffer - self.viewer = viewer # tkHTMLViewer + self.viewer = viewer # HTMLViewer self.anchor = None self.anchor_mark = None @@ -197,7 +197,7 @@ class tkHTMLParser(htmllib.HTMLParser): # // # ************************************************************************/ -class tkHTMLViewer: +class HTMLViewer: symbols_fn = {} # filenames, loaded in Application.loadImages3 symbols_img = {} @@ -581,7 +581,7 @@ def tkhtml_main(args): table.show() top.add(table) top.table = table - viewer = tkHTMLViewer(top) + viewer = HTMLViewer(top) viewer.app = None viewer.display(url) top.connect('destroy', lambda w: gtk.main_quit()) diff --git a/pysollib/pysolgtk/tkstats.py b/pysollib/pysolgtk/tkstats.py index 9e02ee7a..28e2281d 100644 --- a/pysollib/pysolgtk/tkstats.py +++ b/pysollib/pysolgtk/tkstats.py @@ -168,6 +168,7 @@ class Game_StatsDialog: def _translateLabels(self): # mnemonic for n in ( + 'label0', 'label1', 'label2', 'label3', diff --git a/pysollib/pysolgtk/tkutil.py b/pysollib/pysolgtk/tkutil.py index 9f8fbc95..489f7a8a 100644 --- a/pysollib/pysolgtk/tkutil.py +++ b/pysollib/pysolgtk/tkutil.py @@ -253,8 +253,8 @@ def bind(widget, sequence, func, add=None): widget.connect(signal, _wrap_event, l) __bindings[k] = l + def unbind_destroy(widget): - return k = id(widget) if __bindings.has_key(k): ## FIXME @@ -282,12 +282,20 @@ def after_cancel(t): # // font # ************************************************************************/ -def getTextWidth(text, font=None, root=None): +def create_pango_font_desc(font): + font_desc = pango.FontDescription(font[0]+' '+str(font[1])) + if 'italic' in font: + font_desc.set_style(pango.STYLE_ITALIC) + if 'bold' in font: + font_desc.set_weight(pango.WEIGHT_BOLD) + return font_desc + + +def get_text_width(text, font=None, root=None): if root: - pango_font_desc = pango.FontDescription(font[0]+' '+str(font[1])) + pango_font_desc = create_pango_font_desc(font) pangolayout = root.create_pango_layout(text) width = pangolayout.get_pixel_extents()[1][2] return width return 0 - diff --git a/pysollib/pysolgtk/tkwrap.py b/pysollib/pysolgtk/tkwrap.py index 7813fcc1..b4fb77c7 100644 --- a/pysollib/pysolgtk/tkwrap.py +++ b/pysollib/pysolgtk/tkwrap.py @@ -50,7 +50,7 @@ from tkutil import makeToplevel, loadImage class TclError: pass -def makeHelpToplevel(parent, title=None, class_=None): +def make_help_toplevel(parent, title=None, class_=None): return makeToplevel(parent, title=title, class_=class_, gtkclass=_MfxToplevel) @@ -219,6 +219,7 @@ class _MfxToplevel(gtk.Window): pass def wm_iconbitmap(self, name): + print 'wm_iconbitmap:', name if name and name[0] == '@' and name[-4:] == '.xbm': name = name[1:-4] + '.xpm' bg = self.get_style().bg[gtk.STATE_NORMAL] diff --git a/pysollib/resource.py b/pysollib/resource.py index 038c67c6..12935e33 100644 --- a/pysollib/resource.py +++ b/pysollib/resource.py @@ -41,8 +41,7 @@ import sys, os, glob, operator, types # PySol imports from mfxutil import win32api from mfxutil import Struct, KwStruct, EnvError, latin1_to_ascii -from version import VERSION -from settings import PACKAGE +from settings import PACKAGE, VERSION # /*********************************************************************** diff --git a/pysollib/settings.py b/pysollib/settings.py index 70cb08f8..9841f870 100644 --- a/pysollib/settings.py +++ b/pysollib/settings.py @@ -24,9 +24,13 @@ import sys, os n_ = lambda x: x # -#PACKAGE = "PySolFC" -PACKAGE = "PySol" -PACKAGE_URL = "http://sourceforge.net/projects/pysolfc/" +#PACKAGE = 'PySolFC' +PACKAGE = 'PySol' +PACKAGE_URL = 'http://sourceforge.net/projects/pysolfc/' + +VERSION = '4.82' +FC_VERSION = '0.9.3' +VERSION_TUPLE = (4, 82) TOOLKIT = 'gtk' TOOLKIT = 'tk' @@ -34,18 +38,18 @@ TOOLKIT = 'tk' # data dirs DATA_DIRS = [] # you can add your extra directories here -if os.name == "posix": +if os.name == 'posix': DATA_DIRS = [ '/usr/share/PySolFC', '/usr/local/share/PySolFC', '/usr/games/PySolFC', '/usr/local/games/PySolFC', ] -if os.name == "nt": +if os.name == 'nt': pass -if os.name == "mac": +if os.name == 'mac': pass TOP_SIZE = 10 -TOP_TITLE = n_("Top 10") +TOP_TITLE = n_('Top 10') diff --git a/pysollib/stack.py b/pysollib/stack.py index a43db16f..d65103de 100644 --- a/pysollib/stack.py +++ b/pysollib/stack.py @@ -105,7 +105,7 @@ from pysoltk import bind, unbind_destroy from pysoltk import after, after_idle, after_cancel from pysoltk import MfxCanvasGroup, MfxCanvasImage, MfxCanvasRectangle, MfxCanvasText from pysoltk import Card -from pysoltk import getTextWidth +from pysoltk import get_text_width from settings import TOOLKIT @@ -1585,7 +1585,8 @@ class TalonStack(Stack, else: ca = None font = self.game.app.getFont("canvas_default") - text_width = getTextWidth(_('Redeal'), font=font, root=self.game.canvas) + text_width = get_text_width(_('Redeal'), font=font, + root=self.game.canvas) if images.CARDW >= text_width+4 and ca: # add a redeal text above the bottom image if self.max_rounds != 1: diff --git a/pysollib/stats.py b/pysollib/stats.py index feb166bb..65b311db 100644 --- a/pysollib/stats.py +++ b/pysollib/stats.py @@ -40,7 +40,7 @@ import os, sys, time, types # PySol imports from mfxutil import SubclassResponsibility, Struct, destruct from mfxutil import format_time -from util import PACKAGE, VERSION +from settings import PACKAGE, VERSION from gamedb import GI diff --git a/pysollib/tk/menubar.py b/pysollib/tk/menubar.py index bc8c951f..55b906d0 100644 --- a/pysollib/tk/menubar.py +++ b/pysollib/tk/menubar.py @@ -43,7 +43,6 @@ import Tkinter, tkColorChooser, tkFileDialog # PySol imports from pysollib.mfxutil import destruct, Struct, kwdefault from pysollib.util import CARDSET -from pysollib.version import VERSION from pysollib.settings import PACKAGE from pysollib.settings import TOP_TITLE from pysollib.gamedb import GI diff --git a/pysollib/tk/selectgame.py b/pysollib/tk/selectgame.py index b291e678..5bbf2135 100644 --- a/pysollib/tk/selectgame.py +++ b/pysollib/tk/selectgame.py @@ -42,7 +42,7 @@ from UserList import UserList from pysollib.mfxutil import destruct, Struct, KwStruct from pysollib.mfxutil import format_time from pysollib.gamedb import GI -from pysollib.help import helpHTML +from pysollib.help import help_html from pysollib.resource import CSI # Toolkit imports @@ -286,7 +286,7 @@ class SelectGameDialog(MfxDialog): if not doc: return dir = os.path.join("html", "rules") - helpHTML(self.app, doc, dir, self.top) + help_html(self.app, doc, dir, self.top) return MfxDialog.mDone(self, button) diff --git a/pysollib/tk/tkhtml.py b/pysollib/tk/tkhtml.py index 5761cda0..04f60a6a 100644 --- a/pysollib/tk/tkhtml.py +++ b/pysollib/tk/tkhtml.py @@ -33,7 +33,7 @@ ## ##---------------------------------------------------------------------------## -__all__ = ['tkHTMLViewer'] +__all__ = ['HTMLViewer'] # imports import os, sys, re, types @@ -228,7 +228,7 @@ class tkHTMLParser(htmllib.HTMLParser): # // # ************************************************************************/ -class tkHTMLViewer: +class HTMLViewer: symbols_fn = {} # filenames, loaded in Application.loadImages3 symbols_img = {} @@ -528,7 +528,7 @@ def tkhtml_main(args): url = os.path.join(os.pardir, os.pardir, "data", "html", "index.html") top = Tkinter.Tk() top.wm_minsize(400, 200) - viewer = tkHTMLViewer(top) + viewer = HTMLViewer(top) viewer.app = None viewer.display(url) top.mainloop() diff --git a/pysollib/tk/tkutil.py b/pysollib/tk/tkutil.py index e26d8730..399c2f58 100644 --- a/pysollib/tk/tkutil.py +++ b/pysollib/tk/tkutil.py @@ -40,7 +40,7 @@ __all__ = ['wm_withdraw', 'wm_get_geometry', #'setTransient', #'makeToplevel', - 'makeHelpToplevel', + 'make_help_toplevel', 'bind', 'unbind_destroy', 'after', @@ -51,7 +51,7 @@ __all__ = ['wm_withdraw', 'loadImage', #'fillImage', 'createImage', - 'getTextWidth', + 'get_text_width', ] # imports @@ -169,7 +169,7 @@ def makeToplevel(parent, title=None): window.wm_iconname(title) return window -def makeHelpToplevel(app, title=None): +def make_help_toplevel(app, title=None): # Create an independent Toplevel window. parent = app.top window = Tkinter.Tk(className=PACKAGE) @@ -192,8 +192,6 @@ def makeHelpToplevel(app, title=None): window.wm_iconname(title) return window -#makeHelpToplevel = makeToplevel - def __getWidgetXY(widget, parent, relx=None, rely=None, w_width=None, w_height=None): @@ -405,6 +403,6 @@ def createImage(width, height, fill, outline=None): # // font utils # ************************************************************************/ -def getTextWidth(text, font, root=None): +def get_text_width(text, font, root=None): return Font(root=root, font=font).measure(text) diff --git a/pysollib/util.py b/pysollib/util.py index 3ae41ec9..765bc55f 100644 --- a/pysollib/util.py +++ b/pysollib/util.py @@ -63,10 +63,9 @@ __all__ = ['SUITS', import sys, os, re, time, types # PySol imports -from version import VERSION, VERSION_TUPLE from mfxutil import Pickler, Unpickler, UnpicklingError from mfxutil import Struct, EnvError -from settings import DATA_DIRS, PACKAGE +from settings import DATA_DIRS, PACKAGE, VERSION, VERSION_TUPLE # /*********************************************************************** # // constants diff --git a/pysollib/version.py b/pysollib/version.py deleted file mode 100644 index 8eeca7e0..00000000 --- a/pysollib/version.py +++ /dev/null @@ -1,30 +0,0 @@ -##---------------------------------------------------------------------------## -## -## PySol -- a Python Solitaire game -## -## This program is free software; you can redistribute it and/or modify -## it under the terms of the GNU General Public License as published by -## the Free Software Foundation; either version 2 of the License, or -## (at your option) any later version. -## -## This program is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with this program; see the file COPYING. -## If not, write to the Free Software Foundation, Inc., -## 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -## -##---------------------------------------------------------------------------## - -VERSION = "4.82" -#VERSION_DATE = "20 Aug 2003" -VERSION_MAJOR = 4 -VERSION_MINOR = 82 -VERSION_TUPLE = (4, 82) - -FC_VERSION = "0.9.3" -#FC_VERSION_TUPLE = (0, 4, 0) - diff --git a/scripts/create_iss.py b/scripts/create_iss.py index 52d8db50..2a6a57c1 100755 --- a/scripts/create_iss.py +++ b/scripts/create_iss.py @@ -11,7 +11,7 @@ for root, dirs, files in os.walk('dist'): files_list.append(root) dirs_list.append(root) -execfile(os.path.join('pysollib', 'version.py')) +execfile(os.path.join('pysollib', 'settings.py')) prog_version = FC_VERSION out = open('setup.iss', 'w') diff --git a/setup.py b/setup.py index 0e35d451..0cb1bf94 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ import os from distutils.core import setup -from pysollib.version import FC_VERSION as VERSION +from pysollib.settings import FC_VERSION as VERSION if os.name == 'nt': import py2exe